Commit 24a510139aabdcca207bc805d282058a9e4578fc
Update
Showing
21 changed files
with
1740 additions
and
1646 deletions
Too many changes to show.
To preserve performance only 21 of 44 files are displayed.
src/main/java/com/bsth/data/BasicData.java
| @@ -270,36 +270,36 @@ public class BasicData implements CommandLineRunner { | @@ -270,36 +270,36 @@ public class BasicData implements CommandLineRunner { | ||
| 270 | Map<String, String> code2SHcode = new HashMap<String, String>(); | 270 | Map<String, String> code2SHcode = new HashMap<String, String>(); |
| 271 | Map<String, Integer> tempStationName2YgcNumber = new HashMap<String, Integer>(); | 271 | Map<String, Integer> tempStationName2YgcNumber = new HashMap<String, Integer>(); |
| 272 | 272 | ||
| 273 | + /** | ||
| 274 | + * 加载运管处的站点及序号 | ||
| 275 | + * 上行从1开始,下行顺序续编 | ||
| 276 | + */ | ||
| 277 | + List<Object[]> ygcLines = stationRouteRepository.findAllLineWithYgc(); | ||
| 278 | + if(ygcLines != null && ygcLines.size() > 0){ | ||
| 279 | + int size = ygcLines.size(); | ||
| 280 | + Object[] tempArray ; | ||
| 281 | + int num = 1; | ||
| 282 | + String key; | ||
| 283 | + String lineCode = ""; | ||
| 284 | + for (int i = 0; i < size; i ++){ | ||
| 285 | + tempArray = ygcLines.get(i); | ||
| 286 | + if(lineCode.equals("")){ | ||
| 287 | + lineCode = tempArray[0]+""; | ||
| 288 | + }else if(!lineCode.equals(tempArray[0]+"")){ | ||
| 289 | + num = 1; | ||
| 290 | + lineCode = tempArray[0]+""; | ||
| 291 | + } | ||
| 292 | + key = tempArray[0] + "_"+tempArray[1] + "_"+tempArray[2]; | ||
| 293 | + tempStationName2YgcNumber.put(key,num++); | ||
| 294 | + } | ||
| 295 | + } | ||
| 296 | + | ||
| 273 | while (iterator.hasNext()) { | 297 | while (iterator.hasNext()) { |
| 274 | line = iterator.next(); | 298 | line = iterator.next(); |
| 275 | biMap.put(line.getId(), line.getLineCode()); | 299 | biMap.put(line.getId(), line.getLineCode()); |
| 276 | code2name.put(line.getLineCode(), line.getName()); | 300 | code2name.put(line.getLineCode(), line.getName()); |
| 277 | id2SHcode.put(line.getId(), line.getShanghaiLinecode()); | 301 | id2SHcode.put(line.getId(), line.getShanghaiLinecode()); |
| 278 | code2SHcode.put(line.getLineCode(), line.getShanghaiLinecode()); | 302 | code2SHcode.put(line.getLineCode(), line.getShanghaiLinecode()); |
| 279 | - | ||
| 280 | - /** | ||
| 281 | - * 加载运管处的站点及序号 | ||
| 282 | - * 上行从1开始,下行顺序续编 | ||
| 283 | - */ | ||
| 284 | - List<Object[]> ygcLines = stationRouteRepository.findAllLineWithYgc(); | ||
| 285 | - if(ygcLines != null && ygcLines.size() > 0){ | ||
| 286 | - int size = ygcLines.size(); | ||
| 287 | - Object[] tempArray ; | ||
| 288 | - int num = 1; | ||
| 289 | - String key; | ||
| 290 | - String lineCode = ""; | ||
| 291 | - for (int i = 0; i < size; i ++){ | ||
| 292 | - tempArray = ygcLines.get(i); | ||
| 293 | - if(lineCode.equals("")){ | ||
| 294 | - lineCode = tempArray[0]+""; | ||
| 295 | - }else if(!lineCode.equals(tempArray[0]+"")){ | ||
| 296 | - num = 1; | ||
| 297 | - lineCode = tempArray[0]+""; | ||
| 298 | - } | ||
| 299 | - key = tempArray[0] + "_"+tempArray[1] + "_"+tempArray[2]; | ||
| 300 | - tempStationName2YgcNumber.put(key,num++); | ||
| 301 | - } | ||
| 302 | - } | ||
| 303 | } | 303 | } |
| 304 | 304 | ||
| 305 | lineId2CodeMap = biMap; | 305 | lineId2CodeMap = biMap; |
src/main/java/com/bsth/data/safe_driv/SafeDrivCenter.java
| 1 | package com.bsth.data.safe_driv; | 1 | package com.bsth.data.safe_driv; |
| 2 | 2 | ||
| 3 | +import com.bsth.Application; | ||
| 3 | import com.bsth.websocket.handler.SendUtils; | 4 | import com.bsth.websocket.handler.SendUtils; |
| 4 | import org.joda.time.format.DateTimeFormat; | 5 | import org.joda.time.format.DateTimeFormat; |
| 5 | import org.joda.time.format.DateTimeFormatter; | 6 | import org.joda.time.format.DateTimeFormatter; |
| @@ -14,6 +15,7 @@ import java.util.HashMap; | @@ -14,6 +15,7 @@ import java.util.HashMap; | ||
| 14 | import java.util.HashSet; | 15 | import java.util.HashSet; |
| 15 | import java.util.Map; | 16 | import java.util.Map; |
| 16 | import java.util.Set; | 17 | import java.util.Set; |
| 18 | +import java.util.concurrent.TimeUnit; | ||
| 17 | 19 | ||
| 18 | /** | 20 | /** |
| 19 | * 安全驾驶 | 21 | * 安全驾驶 |
| @@ -67,7 +69,7 @@ public class SafeDrivCenter implements CommandLineRunner,ApplicationContextAware | @@ -67,7 +69,7 @@ public class SafeDrivCenter implements CommandLineRunner,ApplicationContextAware | ||
| 67 | @Override | 69 | @Override |
| 68 | public void run(String... strings) throws Exception { | 70 | public void run(String... strings) throws Exception { |
| 69 | //定时加载安全驾驶数据 | 71 | //定时加载安全驾驶数据 |
| 70 | - //Application.mainServices.scheduleWithFixedDelay(safeDrivDataLoadThread, 60, 4, TimeUnit.SECONDS); | 72 | + Application.mainServices.scheduleWithFixedDelay(safeDrivDataLoadThread, 60, 7, TimeUnit.SECONDS); |
| 71 | } | 73 | } |
| 72 | 74 | ||
| 73 | @Override | 75 | @Override |
src/main/java/com/bsth/data/safe_driv/SafeDrivDataLoadThread.java
| @@ -88,7 +88,7 @@ public class SafeDrivDataLoadThread extends Thread{ | @@ -88,7 +88,7 @@ public class SafeDrivDataLoadThread extends Thread{ | ||
| 88 | httpClient.close(); | 88 | httpClient.close(); |
| 89 | response.close(); | 89 | response.close(); |
| 90 | } catch (Exception e) { | 90 | } catch (Exception e) { |
| 91 | - logger.error(e.getMessage()); | 91 | + logger.error("安全驾驶接口报错了" , e.getMessage()); |
| 92 | } | 92 | } |
| 93 | } | 93 | } |
| 94 | } | 94 | } |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| @@ -786,13 +786,14 @@ public class DayOfSchedule { | @@ -786,13 +786,14 @@ public class DayOfSchedule { | ||
| 786 | Collections.sort(list, schFCSJComparator); | 786 | Collections.sort(list, schFCSJComparator); |
| 787 | 787 | ||
| 788 | long t = System.currentTimeMillis(); | 788 | long t = System.currentTimeMillis(); |
| 789 | - int distance=-1; | 789 | + int distance=-1, diff; |
| 790 | 790 | ||
| 791 | ScheduleRealInfo sch = null; | 791 | ScheduleRealInfo sch = null; |
| 792 | for(ScheduleRealInfo temp : list){ | 792 | for(ScheduleRealInfo temp : list){ |
| 793 | - | ||
| 794 | - if(Math.abs(temp.getDfsjT() - t) < distance || distance == -1){ | 793 | + diff = (int) Math.abs(temp.getDfsjT() - t); |
| 794 | + if(diff < distance || distance == -1){ | ||
| 795 | sch = temp; | 795 | sch = temp; |
| 796 | + distance = diff; | ||
| 796 | } | 797 | } |
| 797 | } | 798 | } |
| 798 | return sch; | 799 | return sch; |
src/main/java/com/bsth/data/schedule/SchModifyLog.java renamed to src/main/java/com/bsth/data/schedule/edit_logs/FormLogger.java
| 1 | -package com.bsth.data.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.controller.realcontrol.dto.ChangePersonCar; | ||
| 4 | -import com.bsth.entity.mcy_forms.Changetochange; | ||
| 5 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 6 | -import com.bsth.entity.sys.SysUser; | ||
| 7 | -import com.bsth.repository.form.ChangetochangeRepository; | ||
| 8 | -import com.bsth.security.util.SecurityUtils; | ||
| 9 | -import org.apache.commons.lang3.StringUtils; | ||
| 10 | -import org.joda.time.format.DateTimeFormat; | ||
| 11 | -import org.joda.time.format.DateTimeFormatter; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.stereotype.Service; | ||
| 16 | - | ||
| 17 | -import java.util.Date; | ||
| 18 | - | ||
| 19 | -/** | ||
| 20 | - * 线调实际排班修改日志记录 | ||
| 21 | - * Created by panzhao on 2017/5/7. | ||
| 22 | - */ | ||
| 23 | -@Service | ||
| 24 | -public class SchModifyLog { | ||
| 25 | - | ||
| 26 | - private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm"); | ||
| 27 | - | ||
| 28 | - Logger log = LoggerFactory.getLogger(this.getClass()); | ||
| 29 | - | ||
| 30 | - @Autowired | ||
| 31 | - ChangetochangeRepository changetochangeRepository; | ||
| 32 | - | ||
| 33 | - /** | ||
| 34 | - * 换人换车情况表 | ||
| 35 | - */ | ||
| 36 | - public void saveChangetochange(ScheduleRealInfo sch, ChangePersonCar cpc){ | ||
| 37 | - try { | ||
| 38 | - String newNbbm = cpc.getClZbh(); | ||
| 39 | - String newJsy = cpc.getJsy(); | ||
| 40 | - String oldJsy = sch.getjGh()+"/"+sch.getjName(); | ||
| 41 | - | ||
| 42 | - if(newNbbm == null && newJsy == null) | ||
| 43 | - return; | ||
| 44 | - | ||
| 45 | - if(newNbbm != null && newJsy != null | ||
| 46 | - && newNbbm.equals(sch.getClZbh()) && newJsy.equals(oldJsy)) | ||
| 47 | - return; | ||
| 48 | - | ||
| 49 | - Date d = new Date(); | ||
| 50 | - SysUser user = SecurityUtils.getCurrentUser(); | ||
| 51 | - Changetochange cc = new Changetochange(); | ||
| 52 | - cc.setRq(sch.getScheduleDateStr()); | ||
| 53 | - cc.setGs(sch.getGsBm()); | ||
| 54 | - cc.setFgs(sch.getFgsBm()); | ||
| 55 | - cc.setXl(sch.getXlBm()); | ||
| 56 | - cc.setLp(sch.getLpName()); | ||
| 57 | - cc.setFssj(fmtHHmm.print(d.getTime())); | ||
| 58 | - cc.setXgsj(fmtHHmm.print(d.getTime())); | ||
| 59 | - if(user != null) | ||
| 60 | - cc.setXgr(user.getUserName()); | ||
| 61 | - | ||
| 62 | - cc.setPcch(sch.getClZbh()); | ||
| 63 | - cc.setPcry(oldJsy); | ||
| 64 | - cc.setJhch(sch.getClZbh()); | ||
| 65 | - cc.setJhgh(sch.getjGh()); | ||
| 66 | - | ||
| 67 | - if(StringUtils.isNotEmpty(newNbbm)) | ||
| 68 | - cc.setSjch(newNbbm); | ||
| 69 | - if(StringUtils.isNotEmpty(newJsy)) | ||
| 70 | - cc.setSjgh(newJsy); | ||
| 71 | - | ||
| 72 | - changetochangeRepository.save(cc); | ||
| 73 | - }catch (Exception e){ | ||
| 74 | - log.error("纪录换人换车情况表", e); | ||
| 75 | - } | ||
| 76 | - } | ||
| 77 | - | ||
| 78 | - public void saveChangetochange(ScheduleRealInfo sch, String nbbm, String jsy){ | ||
| 79 | - ChangePersonCar cpc = new ChangePersonCar(); | ||
| 80 | - cpc.setClZbh(nbbm); | ||
| 81 | - cpc.setJsy(jsy); | ||
| 82 | - saveChangetochange(sch, cpc); | ||
| 83 | - } | ||
| 84 | -} | 1 | +package com.bsth.data.schedule.edit_logs; |
| 2 | + | ||
| 3 | +import com.bsth.controller.realcontrol.dto.ChangePersonCar; | ||
| 4 | +import com.bsth.entity.mcy_forms.Changetochange; | ||
| 5 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 6 | +import com.bsth.entity.sys.SysUser; | ||
| 7 | +import com.bsth.repository.form.ChangetochangeRepository; | ||
| 8 | +import com.bsth.security.util.SecurityUtils; | ||
| 9 | +import org.apache.commons.lang3.StringUtils; | ||
| 10 | +import org.joda.time.format.DateTimeFormat; | ||
| 11 | +import org.joda.time.format.DateTimeFormatter; | ||
| 12 | +import org.slf4j.Logger; | ||
| 13 | +import org.slf4j.LoggerFactory; | ||
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | +import org.springframework.stereotype.Service; | ||
| 16 | + | ||
| 17 | +import java.util.Date; | ||
| 18 | + | ||
| 19 | +/** | ||
| 20 | + * 为报表写入相关的班次修改记录 | ||
| 21 | + * Created by panzhao on 2017/5/7. | ||
| 22 | + */ | ||
| 23 | +@Service | ||
| 24 | +public class FormLogger { | ||
| 25 | + | ||
| 26 | + private static DateTimeFormatter fmtHHmm = DateTimeFormat.forPattern("HH:mm"); | ||
| 27 | + | ||
| 28 | + Logger log = LoggerFactory.getLogger(this.getClass()); | ||
| 29 | + | ||
| 30 | + @Autowired | ||
| 31 | + ChangetochangeRepository changetochangeRepository; | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * 换人换车情况表 | ||
| 35 | + */ | ||
| 36 | + public void saveChangetochange(ScheduleRealInfo sch, ChangePersonCar cpc){ | ||
| 37 | + try { | ||
| 38 | + String newNbbm = cpc.getClZbh(); | ||
| 39 | + String newJsy = cpc.getJsy(); | ||
| 40 | + String oldJsy = sch.getjGh()+"/"+sch.getjName(); | ||
| 41 | + | ||
| 42 | + if(newNbbm == null && newJsy == null) | ||
| 43 | + return; | ||
| 44 | + | ||
| 45 | + if(newNbbm != null && newJsy != null | ||
| 46 | + && newNbbm.equals(sch.getClZbh()) && newJsy.equals(oldJsy)) | ||
| 47 | + return; | ||
| 48 | + | ||
| 49 | + Date d = new Date(); | ||
| 50 | + SysUser user = SecurityUtils.getCurrentUser(); | ||
| 51 | + Changetochange cc = new Changetochange(); | ||
| 52 | + cc.setRq(sch.getScheduleDateStr()); | ||
| 53 | + cc.setGs(sch.getGsBm()); | ||
| 54 | + cc.setFgs(sch.getFgsBm()); | ||
| 55 | + cc.setXl(sch.getXlBm()); | ||
| 56 | + cc.setLp(sch.getLpName()); | ||
| 57 | + cc.setFssj(fmtHHmm.print(d.getTime())); | ||
| 58 | + cc.setXgsj(fmtHHmm.print(d.getTime())); | ||
| 59 | + if(user != null) | ||
| 60 | + cc.setXgr(user.getUserName()); | ||
| 61 | + | ||
| 62 | + cc.setPcch(sch.getClZbh()); | ||
| 63 | + cc.setPcry(oldJsy); | ||
| 64 | + cc.setJhch(sch.getClZbh()); | ||
| 65 | + cc.setJhgh(sch.getjGh()); | ||
| 66 | + | ||
| 67 | + if(StringUtils.isNotEmpty(newNbbm)) | ||
| 68 | + cc.setSjch(newNbbm); | ||
| 69 | + if(StringUtils.isNotEmpty(newJsy)) | ||
| 70 | + cc.setSjgh(newJsy); | ||
| 71 | + | ||
| 72 | + changetochangeRepository.save(cc); | ||
| 73 | + }catch (Exception e){ | ||
| 74 | + log.error("纪录换人换车情况表", e); | ||
| 75 | + } | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public void saveChangetochange(ScheduleRealInfo sch, String nbbm, String jsy){ | ||
| 79 | + ChangePersonCar cpc = new ChangePersonCar(); | ||
| 80 | + cpc.setClZbh(nbbm); | ||
| 81 | + cpc.setJsy(jsy); | ||
| 82 | + saveChangetochange(sch, cpc); | ||
| 83 | + } | ||
| 84 | +} |
src/main/java/com/bsth/data/schedule/edit_logs/SchEditLogger.java renamed to src/main/java/com/bsth/data/schedule/edit_logs/ScheduleModifyLogger.java
| @@ -4,7 +4,7 @@ package com.bsth.data.schedule.edit_logs; | @@ -4,7 +4,7 @@ package com.bsth.data.schedule.edit_logs; | ||
| 4 | * 班次修正记录 | 4 | * 班次修正记录 |
| 5 | * Created by panzhao on 2017/5/16. | 5 | * Created by panzhao on 2017/5/16. |
| 6 | */ | 6 | */ |
| 7 | -public class SchEditLogger { | 7 | +public class ScheduleModifyLogger { |
| 8 | 8 | ||
| 9 | /** | 9 | /** |
| 10 | * 待发调整 | 10 | * 待发调整 |
| @@ -12,4 +12,4 @@ public class SchEditLogger { | @@ -12,4 +12,4 @@ public class SchEditLogger { | ||
| 12 | public static void dftz(Long id, String remarks, String dfsj, String bcType, String opType){ | 12 | public static void dftz(Long id, String remarks, String dfsj, String bcType, String opType){ |
| 13 | 13 | ||
| 14 | } | 14 | } |
| 15 | -} | 15 | -} |
| 16 | +} | ||
| 16 | \ No newline at end of file | 17 | \ No newline at end of file |
src/main/java/com/bsth/repository/oil/YlbRepository.java
| @@ -86,7 +86,7 @@ public interface YlbRepository extends BaseRepository<Ylb, Integer>{ | @@ -86,7 +86,7 @@ public interface YlbRepository extends BaseRepository<Ylb, Integer>{ | ||
| 86 | + " ssgsdm like %?2% " | 86 | + " ssgsdm like %?2% " |
| 87 | + " and fgsdm like %?3%" | 87 | + " and fgsdm like %?3%" |
| 88 | + " and xlbm like %?4% and nbbm like %?5% " | 88 | + " and xlbm like %?4% and nbbm like %?5% " |
| 89 | - + " group by nbbm,rq,ssgsdm,fgsdm,xlbm",nativeQuery=true) | 89 | + + " group by nbbm,rq,ssgsdm,fgsdm",nativeQuery=true) |
| 90 | List<Object[]> checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm); | 90 | List<Object[]> checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm); |
| 91 | 91 | ||
| 92 | 92 |
src/main/java/com/bsth/service/oil/impl/CwjyServiceImpl.java
| @@ -291,7 +291,8 @@ public class CwjyServiceImpl extends BaseServiceImpl<Cwjy,Integer> implements Cw | @@ -291,7 +291,8 @@ public class CwjyServiceImpl extends BaseServiceImpl<Cwjy,Integer> implements Cw | ||
| 291 | + "from bsth_c_ylb where to_days(rq)= to_days('"+rq+"' ) " | 291 | + "from bsth_c_ylb where to_days(rq)= to_days('"+rq+"' ) " |
| 292 | + " and ssgsdm='"+gsdm+"' and fgsdm ='"+fgsdm+"' group by nbbm "+ | 292 | + " and ssgsdm='"+gsdm+"' and fgsdm ='"+fgsdm+"' group by nbbm "+ |
| 293 | " ) c on a.nbbm=c.nbbm " | 293 | " ) c on a.nbbm=c.nbbm " |
| 294 | - + "where a.nbbm like '%"+nbbm+"%' and a.gsdm='"+gsdm+"' and a.fgsdm ='"+fgsdm+"'"; | 294 | + + "where a.nbbm like '%"+nbbm+"%' and a.gsdm='"+gsdm+"' and a.fgsdm ='"+fgsdm+"'" |
| 295 | + + " order by a.nbbm"; | ||
| 295 | 296 | ||
| 296 | List<Ylxxb> yList= jdbcTemplate.query(sql, | 297 | List<Ylxxb> yList= jdbcTemplate.query(sql, |
| 297 | new RowMapper<Ylxxb>(){ | 298 | new RowMapper<Ylxxb>(){ |
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
| @@ -1000,6 +1000,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -1000,6 +1000,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 1000 | return sumMap; | 1000 | return sumMap; |
| 1001 | } | 1001 | } |
| 1002 | 1002 | ||
| 1003 | + | ||
| 1004 | + | ||
| 1003 | @Override | 1005 | @Override |
| 1004 | public List<Ylb> listYlb(Map<String, Object> map) { | 1006 | public List<Ylb> listYlb(Map<String, Object> map) { |
| 1005 | // TODO Auto-generated method stub | 1007 | // TODO Auto-generated method stub |
| @@ -1013,7 +1015,19 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -1013,7 +1015,19 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 1013 | String sxtj=map.get("sxtj").toString(); | 1015 | String sxtj=map.get("sxtj").toString(); |
| 1014 | if(nbbm.trim()!=""){ | 1016 | if(nbbm.trim()!=""){ |
| 1015 | stringList.add(nbbm); | 1017 | stringList.add(nbbm); |
| 1016 | - listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm, stringList); | 1018 | + List<Object[]> objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm,nbbm); |
| 1019 | + int cs=Integer.parseInt(objectLists.get(0)[1].toString()); | ||
| 1020 | + if(sxtj.equals("1")){ | ||
| 1021 | + if(cs==1){ | ||
| 1022 | + listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm, stringList); | ||
| 1023 | + } | ||
| 1024 | + } | ||
| 1025 | + | ||
| 1026 | + if(sxtj.equals("2")){ | ||
| 1027 | + if(cs>1){ | ||
| 1028 | + listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm, stringList); | ||
| 1029 | + } | ||
| 1030 | + } | ||
| 1017 | }else{ | 1031 | }else{ |
| 1018 | //全部 | 1032 | //全部 |
| 1019 | if(sxtj.equals("0")){ | 1033 | if(sxtj.equals("0")){ |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -13,7 +13,7 @@ import com.bsth.data.LineConfigData; | @@ -13,7 +13,7 @@ import com.bsth.data.LineConfigData; | ||
| 13 | import com.bsth.data.msg_queue.DirectivePushQueue; | 13 | import com.bsth.data.msg_queue.DirectivePushQueue; |
| 14 | import com.bsth.data.schedule.DayOfSchedule; | 14 | import com.bsth.data.schedule.DayOfSchedule; |
| 15 | import com.bsth.data.schedule.SchAttrCalculator; | 15 | import com.bsth.data.schedule.SchAttrCalculator; |
| 16 | -import com.bsth.data.schedule.SchModifyLog; | 16 | +import com.bsth.data.schedule.edit_logs.FormLogger; |
| 17 | import com.bsth.data.schedule.ScheduleComparator; | 17 | import com.bsth.data.schedule.ScheduleComparator; |
| 18 | import com.bsth.data.schedule.late_adjust.LateAdjustHandle; | 18 | import com.bsth.data.schedule.late_adjust.LateAdjustHandle; |
| 19 | import com.bsth.entity.Cars; | 19 | import com.bsth.entity.Cars; |
| @@ -135,7 +135,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -135,7 +135,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 135 | CulateMileageService culateService; | 135 | CulateMileageService culateService; |
| 136 | 136 | ||
| 137 | @Autowired | 137 | @Autowired |
| 138 | - SchModifyLog schModifyLog; | 138 | + FormLogger schModifyLog; |
| 139 | 139 | ||
| 140 | @Autowired | 140 | @Autowired |
| 141 | DirectiveService directiveService; | 141 | DirectiveService directiveService; |
| @@ -819,8 +819,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -819,8 +819,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 819 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); | 819 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); |
| 820 | for (int i = 0; i < scheduleRealInfos.size(); i++) { | 820 | for (int i = 0; i < scheduleRealInfos.size(); i++) { |
| 821 | ScheduleRealInfo s=scheduleRealInfos.get(i); | 821 | ScheduleRealInfo s=scheduleRealInfos.get(i); |
| 822 | - if(s.getZdsjActual()!=null){ | ||
| 823 | - lists.add(s); | 822 | + Set<ChildTaskPlan> cts = s.getcTasks(); |
| 823 | + if(cts != null && cts.size() > 0){ | ||
| 824 | + lists.add(s); | ||
| 825 | + }else{ | ||
| 826 | + if(s.getZdsjActual()!=null){ | ||
| 827 | + lists.add(s); | ||
| 828 | + } | ||
| 824 | } | 829 | } |
| 825 | } | 830 | } |
| 826 | DecimalFormat format = new DecimalFormat("0.00"); | 831 | DecimalFormat format = new DecimalFormat("0.00"); |
| @@ -1076,6 +1081,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1076,6 +1081,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1076 | sch.setStatus(0); | 1081 | sch.setStatus(0); |
| 1077 | sch.setRemarks("");//清空备注 | 1082 | sch.setRemarks("");//清空备注 |
| 1078 | sch.setJhlc(sch.getJhlcOrig()); | 1083 | sch.setJhlc(sch.getJhlcOrig()); |
| 1084 | + | ||
| 1085 | + //入库 | ||
| 1086 | + dayOfSchedule.save(sch); | ||
| 1079 | rs.put("status", ResponseCode.SUCCESS); | 1087 | rs.put("status", ResponseCode.SUCCESS); |
| 1080 | rs.put("t", sch); | 1088 | rs.put("t", sch); |
| 1081 | 1089 | ||
| @@ -1667,8 +1675,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1667,8 +1675,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1667 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); | 1675 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); |
| 1668 | for (int i = 0; i < list.size(); i++) { | 1676 | for (int i = 0; i < list.size(); i++) { |
| 1669 | ScheduleRealInfo s=list.get(i); | 1677 | ScheduleRealInfo s=list.get(i); |
| 1670 | - if(s.getZdsjActual()!=null){ | ||
| 1671 | - lists.add(s); | 1678 | + Set<ChildTaskPlan> cts = s.getcTasks(); |
| 1679 | + if(cts != null && cts.size() > 0){ | ||
| 1680 | + lists.add(s); | ||
| 1681 | + }else{ | ||
| 1682 | + if(s.getZdsjActual()!=null){ | ||
| 1683 | + lists.add(s); | ||
| 1684 | + } | ||
| 1672 | } | 1685 | } |
| 1673 | } | 1686 | } |
| 1674 | double ksgl=culateService.culateKsgl(list); | 1687 | double ksgl=culateService.culateKsgl(list); |
| @@ -1953,8 +1966,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1953,8 +1966,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1953 | List<ScheduleRealInfo> lists =new ArrayList<ScheduleRealInfo>(); | 1966 | List<ScheduleRealInfo> lists =new ArrayList<ScheduleRealInfo>(); |
| 1954 | for (int i = 0; i < list_s.size(); i++) { | 1967 | for (int i = 0; i < list_s.size(); i++) { |
| 1955 | ScheduleRealInfo s=list_s.get(i); | 1968 | ScheduleRealInfo s=list_s.get(i); |
| 1956 | - if(s.getZdsjActual()!=null){ | ||
| 1957 | - lists.add(s); | 1969 | + Set<ChildTaskPlan> cts = s.getcTasks(); |
| 1970 | + if(cts != null && cts.size() > 0){ | ||
| 1971 | + lists.add(s); | ||
| 1972 | + }else{ | ||
| 1973 | + if(s.getZdsjActual()!=null){ | ||
| 1974 | + lists.add(s); | ||
| 1975 | + } | ||
| 1958 | } | 1976 | } |
| 1959 | } | 1977 | } |
| 1960 | Map<String, Object> map = new HashMap<String, Object>(); | 1978 | Map<String, Object> map = new HashMap<String, Object>(); |
| @@ -2556,8 +2574,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2556,8 +2574,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2556 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); | 2574 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); |
| 2557 | for(int i=0;i<list.size();i++){ | 2575 | for(int i=0;i<list.size();i++){ |
| 2558 | ScheduleRealInfo s=list.get(i); | 2576 | ScheduleRealInfo s=list.get(i); |
| 2559 | - if(s.getZdsjActual()!=null){ | ||
| 2560 | - lists.add(s); | 2577 | + Set<ChildTaskPlan> cts = s.getcTasks(); |
| 2578 | + if(cts != null && cts.size() > 0){ | ||
| 2579 | + lists.add(s); | ||
| 2580 | + }else{ | ||
| 2581 | + if(s.getZdsjActual()!=null){ | ||
| 2582 | + lists.add(s); | ||
| 2583 | + } | ||
| 2561 | } | 2584 | } |
| 2562 | } | 2585 | } |
| 2563 | Map<String, Object> map = new HashMap<String, Object>(); | 2586 | Map<String, Object> map = new HashMap<String, Object>(); |
| @@ -2631,8 +2654,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -2631,8 +2654,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 2631 | } | 2654 | } |
| 2632 | for (int i = 0; i < list.size(); i++) { | 2655 | for (int i = 0; i < list.size(); i++) { |
| 2633 | ScheduleRealInfo s=list.get(i); | 2656 | ScheduleRealInfo s=list.get(i); |
| 2634 | - if(s.getZdsjActual()!=null){ | ||
| 2635 | - list_s.add(s); | 2657 | + Set<ChildTaskPlan> cts = s.getcTasks(); |
| 2658 | + if(cts != null && cts.size() > 0){ | ||
| 2659 | + list_s.add(s); | ||
| 2660 | + }else{ | ||
| 2661 | + if(s.getZdsjActual()!=null){ | ||
| 2662 | + list_s.add(s); | ||
| 2663 | + } | ||
| 2636 | } | 2664 | } |
| 2637 | } | 2665 | } |
| 2638 | List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); | 2666 | List<Map<String, Object>> lMap = new ArrayList<Map<String, Object>>(); |
| @@ -4235,8 +4263,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -4235,8 +4263,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 4235 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); | 4263 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); |
| 4236 | for (int i = 0; i < scheduleRealInfos.size(); i++) { | 4264 | for (int i = 0; i < scheduleRealInfos.size(); i++) { |
| 4237 | ScheduleRealInfo s=scheduleRealInfos.get(i); | 4265 | ScheduleRealInfo s=scheduleRealInfos.get(i); |
| 4238 | - if(s.getZdsjActual()!=null){ | ||
| 4239 | - lists.add(s); | 4266 | + Set<ChildTaskPlan> cts = s.getcTasks(); |
| 4267 | + if(cts != null && cts.size() > 0){ | ||
| 4268 | + lists.add(s); | ||
| 4269 | + }else{ | ||
| 4270 | + if(s.getZdsjActual()!=null){ | ||
| 4271 | + lists.add(s); | ||
| 4272 | + } | ||
| 4240 | } | 4273 | } |
| 4241 | } | 4274 | } |
| 4242 | DecimalFormat format = new DecimalFormat("0.00"); | 4275 | DecimalFormat format = new DecimalFormat("0.00"); |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| @@ -568,8 +568,16 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -568,8 +568,16 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 568 | //有子任务 | 568 | //有子任务 |
| 569 | if (cts != null && cts.size() > 0) { | 569 | if (cts != null && cts.size() > 0) { |
| 570 | for(ChildTaskPlan c : cts){ | 570 | for(ChildTaskPlan c : cts){ |
| 571 | - if(c.isDestroy() && (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)) | ||
| 572 | - sum = Arith.add(sum, c.getMileage()); | 571 | + if(item.equals("其他")){ |
| 572 | + if(c.isDestroy() && | ||
| 573 | + ((c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)|| | ||
| 574 | + (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(""))) | ||
| 575 | + sum = Arith.add(sum, c.getMileage()); | ||
| 576 | + }else{ | ||
| 577 | + if(c.isDestroy() && (c.getDestroyReason()==null?"": c.getDestroyReason()).equals(item)) | ||
| 578 | + sum = Arith.add(sum, c.getMileage()); | ||
| 579 | + } | ||
| 580 | + | ||
| 573 | } | 581 | } |
| 574 | } | 582 | } |
| 575 | else if(isInOut(sch)) | 583 | else if(isInOut(sch)) |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| @@ -981,7 +981,8 @@ public class ReportServiceImpl implements ReportService{ | @@ -981,7 +981,8 @@ public class ReportServiceImpl implements ReportService{ | ||
| 981 | for (int i = 0; i < sList.size(); i++) { | 981 | for (int i = 0; i < sList.size(); i++) { |
| 982 | ScheduleRealInfo scheduleRealInfo = sList.get(i); | 982 | ScheduleRealInfo scheduleRealInfo = sList.get(i); |
| 983 | if (!(scheduleRealInfo.getBcType().equals("in") | 983 | if (!(scheduleRealInfo.getBcType().equals("in") |
| 984 | - || scheduleRealInfo.getBcType().equals("out"))) { | 984 | + || scheduleRealInfo.getBcType().equals("out") |
| 985 | + ||scheduleRealInfo.getBcType().equals("ldks"))) { | ||
| 985 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | 986 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 986 | if (childTaskPlans.isEmpty()) { | 987 | if (childTaskPlans.isEmpty()) { |
| 987 | Map<String, Object> newMap = new HashMap<String, Object>(); | 988 | Map<String, Object> newMap = new HashMap<String, Object>(); |
| @@ -1009,32 +1010,62 @@ public class ReportServiceImpl implements ReportService{ | @@ -1009,32 +1010,62 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1009 | 1010 | ||
| 1010 | } else { | 1011 | } else { |
| 1011 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 1012 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 1012 | - while (it.hasNext()) { | ||
| 1013 | - ChildTaskPlan childTaskPlan = it.next(); | ||
| 1014 | - if (childTaskPlan.isDestroy()) { | ||
| 1015 | - String destroyReason = ""; | ||
| 1016 | - if ( childTaskPlan.getDestroyReason() == null) { | ||
| 1017 | - destroyReason = "其他"; | ||
| 1018 | - }else if(childTaskPlan.getDestroyReason().equals("")){ | ||
| 1019 | - destroyReason = "其他"; | ||
| 1020 | - } else { | ||
| 1021 | - destroyReason = childTaskPlan.getDestroyReason(); | 1013 | + if (scheduleRealInfo.getStatus() == -1) { |
| 1014 | + while (it.hasNext()) { | ||
| 1015 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 1016 | + if (childTaskPlan.isDestroy()) { | ||
| 1017 | + String destroyReason = ""; | ||
| 1018 | + if ( childTaskPlan.getDestroyReason() == null) { | ||
| 1019 | + destroyReason = "其他"; | ||
| 1020 | + }else if(childTaskPlan.getDestroyReason().equals("")){ | ||
| 1021 | + destroyReason = "其他"; | ||
| 1022 | + } else { | ||
| 1023 | + destroyReason = childTaskPlan.getDestroyReason(); | ||
| 1024 | + } | ||
| 1025 | + Map<String, Object> newMap = new HashMap<String, Object>(); | ||
| 1026 | + newMap.put("nr", destroyReason); | ||
| 1027 | + newMap.put("lp", scheduleRealInfo.getLpName()); | ||
| 1028 | + newMap.put("nbbm", scheduleRealInfo.getClZbh()); | ||
| 1029 | + newMap.put("jgh", scheduleRealInfo.getjGh()); | ||
| 1030 | + newMap.put("dz", childTaskPlan.getStartStationName()); | ||
| 1031 | + newMap.put("sj", childTaskPlan.getStartDate()); | ||
| 1032 | + newMap.put("gzf", " "); | ||
| 1033 | + newMap.put("lbbc", 1); | ||
| 1034 | + newMap.put("lblc", childTaskPlan.getMileage()); | ||
| 1035 | + newMap.put("jyqp", childTaskPlan.getRemarks()); | ||
| 1036 | + list.add(newMap); | ||
| 1037 | + | ||
| 1022 | } | 1038 | } |
| 1023 | - Map<String, Object> newMap = new HashMap<String, Object>(); | ||
| 1024 | - newMap.put("nr", destroyReason); | ||
| 1025 | - newMap.put("lp", scheduleRealInfo.getLpName()); | ||
| 1026 | - newMap.put("nbbm", scheduleRealInfo.getClZbh()); | ||
| 1027 | - newMap.put("jgh", scheduleRealInfo.getjGh()); | ||
| 1028 | - newMap.put("dz", childTaskPlan.getStartStationName()); | ||
| 1029 | - newMap.put("sj", childTaskPlan.getStartDate()); | ||
| 1030 | - newMap.put("gzf", " "); | ||
| 1031 | - newMap.put("lbbc", 0); | ||
| 1032 | - newMap.put("lblc", childTaskPlan.getMileage()); | ||
| 1033 | - newMap.put("jyqp", childTaskPlan.getRemarks()); | ||
| 1034 | - list.add(newMap); | 1039 | + } |
| 1040 | + }else{ | ||
| 1041 | + while (it.hasNext()) { | ||
| 1042 | + ChildTaskPlan childTaskPlan = it.next(); | ||
| 1043 | + if (childTaskPlan.isDestroy()) { | ||
| 1044 | + String destroyReason = ""; | ||
| 1045 | + if ( childTaskPlan.getDestroyReason() == null) { | ||
| 1046 | + destroyReason = "其他"; | ||
| 1047 | + }else if(childTaskPlan.getDestroyReason().equals("")){ | ||
| 1048 | + destroyReason = "其他"; | ||
| 1049 | + } else { | ||
| 1050 | + destroyReason = childTaskPlan.getDestroyReason(); | ||
| 1051 | + } | ||
| 1052 | + Map<String, Object> newMap = new HashMap<String, Object>(); | ||
| 1053 | + newMap.put("nr", destroyReason); | ||
| 1054 | + newMap.put("lp", scheduleRealInfo.getLpName()); | ||
| 1055 | + newMap.put("nbbm", scheduleRealInfo.getClZbh()); | ||
| 1056 | + newMap.put("jgh", scheduleRealInfo.getjGh()); | ||
| 1057 | + newMap.put("dz", childTaskPlan.getStartStationName()); | ||
| 1058 | + newMap.put("sj", childTaskPlan.getStartDate()); | ||
| 1059 | + newMap.put("gzf", " "); | ||
| 1060 | + newMap.put("lbbc", 0); | ||
| 1061 | + newMap.put("lblc", childTaskPlan.getMileage()); | ||
| 1062 | + newMap.put("jyqp", childTaskPlan.getRemarks()); | ||
| 1063 | + list.add(newMap); | ||
| 1035 | 1064 | ||
| 1065 | + } | ||
| 1036 | } | 1066 | } |
| 1037 | } | 1067 | } |
| 1068 | + | ||
| 1038 | } | 1069 | } |
| 1039 | } | 1070 | } |
| 1040 | } | 1071 | } |
| @@ -1086,7 +1117,8 @@ public class ReportServiceImpl implements ReportService{ | @@ -1086,7 +1117,8 @@ public class ReportServiceImpl implements ReportService{ | ||
| 1086 | for (int i = 0; i < sList.size(); i++) { | 1117 | for (int i = 0; i < sList.size(); i++) { |
| 1087 | ScheduleRealInfo scheduleRealInfo=sList.get(i); | 1118 | ScheduleRealInfo scheduleRealInfo=sList.get(i); |
| 1088 | if (!(scheduleRealInfo.getBcType().equals("in") | 1119 | if (!(scheduleRealInfo.getBcType().equals("in") |
| 1089 | - || scheduleRealInfo.getBcType().equals("out"))) { | 1120 | + || scheduleRealInfo.getBcType().equals("out") |
| 1121 | + || scheduleRealInfo.getBcType().equals("ldks"))) { | ||
| 1090 | // Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | 1122 | // Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 1091 | // if(childTaskPlans.isEmpty()){ | 1123 | // if(childTaskPlans.isEmpty()){ |
| 1092 | if(scheduleRealInfo.isSflj()){ | 1124 | if(scheduleRealInfo.isSflj()){ |
src/main/java/com/bsth/service/schedule/datatools/CarConfigInfoDataToolsImpl.java
| 1 | -package com.bsth.service.schedule.datatools; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | -import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | -import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | -import jxl.Cell; | ||
| 7 | -import jxl.Sheet; | ||
| 8 | -import jxl.Workbook; | ||
| 9 | -import jxl.write.Label; | ||
| 10 | -import jxl.write.WritableSheet; | ||
| 11 | -import jxl.write.WritableWorkbook; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | -import org.springframework.stereotype.Service; | ||
| 18 | - | ||
| 19 | -import java.io.File; | ||
| 20 | -import java.io.PrintWriter; | ||
| 21 | -import java.io.StringWriter; | ||
| 22 | -import java.util.HashMap; | ||
| 23 | -import java.util.Map; | ||
| 24 | - | ||
| 25 | -/** | ||
| 26 | - * Created by xu on 17/5/16. | ||
| 27 | - */ | ||
| 28 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | -@Service(value = "carConfig_dataTool") | ||
| 30 | -public class CarConfigInfoDataToolsImpl implements DataToolsService { | ||
| 31 | - /** 日志记录器 */ | ||
| 32 | - private final static Logger LOGGER = LoggerFactory.getLogger(CarConfigInfoDataToolsImpl.class); | ||
| 33 | - | ||
| 34 | - @Autowired | ||
| 35 | - @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | - private DataToolsService dataToolsService; | ||
| 37 | - | ||
| 38 | - @Autowired | ||
| 39 | - private DataToolsProperties dataToolsProperties; | ||
| 40 | - | ||
| 41 | - @Override | ||
| 42 | - public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | - try { | ||
| 44 | - // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | - File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | - Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | - Sheet sheet = workbook.getSheet(0); | ||
| 48 | - | ||
| 49 | - File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | - WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | - WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | - for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | - Cell[] cells = sheet.getRow(i); | ||
| 54 | - for (int j = 0; j < cells.length; j++) { | ||
| 55 | - writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | - } | ||
| 57 | - } | ||
| 58 | - writableWorkbook.write(); | ||
| 59 | - writableWorkbook.close(); | ||
| 60 | - | ||
| 61 | - return fileCal; | ||
| 62 | - | ||
| 63 | - } catch (Exception exp) { | ||
| 64 | - throw new ScheduleException(exp); | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - @Override | ||
| 69 | - public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | - try { | ||
| 71 | - LOGGER.info("//---------------- 导入车辆配置信息 start... ----------------//"); | ||
| 72 | - // 创建ktr转换所需参数 | ||
| 73 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | - File ktrFile = new File(this.getClass().getResource( | ||
| 75 | - dataToolsProperties.getCarsconfigDatainputktr()).toURI()); | ||
| 76 | - | ||
| 77 | - // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | - ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | - ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | - | ||
| 82 | - ktrParms.putAll(params); | ||
| 83 | - | ||
| 84 | - dataToolsService.importData(file, ktrParms); | ||
| 85 | - | ||
| 86 | - LOGGER.info("//---------------- 导入车辆配置信息 success... ----------------//"); | ||
| 87 | - } catch (Exception exp) { | ||
| 88 | - LOGGER.info("//---------------- 导入车辆配置信息 failed... ----------------//"); | ||
| 89 | - | ||
| 90 | - StringWriter sw = new StringWriter(); | ||
| 91 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | - LOGGER.info(sw.toString()); | ||
| 93 | - | ||
| 94 | - throw new ScheduleException(exp.getMessage()); | ||
| 95 | - } | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | - @Override | ||
| 99 | - public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | - try { | ||
| 101 | - LOGGER.info("//---------------- 导出车辆配置信息 start... ----------------//"); | ||
| 102 | - // 创建ktr转换所需参数 | ||
| 103 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | - File ktrFile = new File(this.getClass().getResource( | ||
| 105 | - dataToolsProperties.getCarsconfigDataoutputktr()).toURI()); | ||
| 106 | - | ||
| 107 | - // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | - ktrParms.put("filename", "车辆配置信息_download-"); | ||
| 110 | - | ||
| 111 | - ktrParms.putAll(params); | ||
| 112 | - | ||
| 113 | - File file = dataToolsService.exportData(ktrParms); | ||
| 114 | - | ||
| 115 | - LOGGER.info("//---------------- 导出车辆配置信息 success... ----------------//"); | ||
| 116 | - | ||
| 117 | - return file; | ||
| 118 | - | ||
| 119 | - } catch (Exception exp) { | ||
| 120 | - LOGGER.info("//---------------- 导出车辆配置信息 failed... ----------------//"); | ||
| 121 | - | ||
| 122 | - StringWriter sw = new StringWriter(); | ||
| 123 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | - LOGGER.info(sw.toString()); | ||
| 125 | - | ||
| 126 | - throw new ScheduleException(exp.getMessage()); | ||
| 127 | - } | ||
| 128 | - } | ||
| 129 | -} | 1 | +package com.bsth.service.schedule.datatools; |
| 2 | + | ||
| 3 | +import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | +import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | +import jxl.Cell; | ||
| 7 | +import jxl.Sheet; | ||
| 8 | +import jxl.Workbook; | ||
| 9 | +import jxl.write.Label; | ||
| 10 | +import jxl.write.WritableSheet; | ||
| 11 | +import jxl.write.WritableWorkbook; | ||
| 12 | +import org.slf4j.Logger; | ||
| 13 | +import org.slf4j.LoggerFactory; | ||
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | +import org.springframework.stereotype.Service; | ||
| 18 | + | ||
| 19 | +import java.io.File; | ||
| 20 | +import java.io.PrintWriter; | ||
| 21 | +import java.io.StringWriter; | ||
| 22 | +import java.util.HashMap; | ||
| 23 | +import java.util.Map; | ||
| 24 | + | ||
| 25 | +/** | ||
| 26 | + * Created by xu on 17/5/16. | ||
| 27 | + */ | ||
| 28 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | +@Service(value = "carConfig_dataTool") | ||
| 30 | +public class CarConfigInfoDataToolsImpl implements DataToolsService { | ||
| 31 | + /** 日志记录器 */ | ||
| 32 | + private final static Logger LOGGER = LoggerFactory.getLogger(CarConfigInfoDataToolsImpl.class); | ||
| 33 | + | ||
| 34 | + @Autowired | ||
| 35 | + @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | + private DataToolsService dataToolsService; | ||
| 37 | + | ||
| 38 | + @Autowired | ||
| 39 | + private DataToolsProperties dataToolsProperties; | ||
| 40 | + | ||
| 41 | + @Override | ||
| 42 | + public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | + try { | ||
| 44 | + // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | + File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | + Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | + Sheet sheet = workbook.getSheet(0); | ||
| 48 | + | ||
| 49 | + File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | + WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | + for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | + Cell[] cells = sheet.getRow(i); | ||
| 54 | + for (int j = 0; j < cells.length; j++) { | ||
| 55 | + writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + writableWorkbook.write(); | ||
| 59 | + writableWorkbook.close(); | ||
| 60 | + | ||
| 61 | + return fileCal; | ||
| 62 | + | ||
| 63 | + } catch (Exception exp) { | ||
| 64 | + throw new ScheduleException(exp); | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Override | ||
| 69 | + public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | + try { | ||
| 71 | + LOGGER.info("//---------------- 导入车辆配置信息 start... ----------------//"); | ||
| 72 | + // 创建ktr转换所需参数 | ||
| 73 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | + File ktrFile = new File(this.getClass().getResource( | ||
| 75 | + dataToolsProperties.getCarsconfigDatainputktr()).toURI()); | ||
| 76 | + | ||
| 77 | + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | + ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | + | ||
| 82 | + ktrParms.putAll(params); | ||
| 83 | + | ||
| 84 | + dataToolsService.importData(file, ktrParms); | ||
| 85 | + | ||
| 86 | + LOGGER.info("//---------------- 导入车辆配置信息 success... ----------------//"); | ||
| 87 | + } catch (Exception exp) { | ||
| 88 | + LOGGER.info("//---------------- 导入车辆配置信息 failed... ----------------//"); | ||
| 89 | + | ||
| 90 | + StringWriter sw = new StringWriter(); | ||
| 91 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | + LOGGER.info(sw.toString()); | ||
| 93 | + | ||
| 94 | + throw new ScheduleException(exp.getMessage()); | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + @Override | ||
| 99 | + public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | + try { | ||
| 101 | + LOGGER.info("//---------------- 导出车辆配置信息 start... ----------------//"); | ||
| 102 | + // 创建ktr转换所需参数 | ||
| 103 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | + File ktrFile = new File(this.getClass().getResource( | ||
| 105 | + dataToolsProperties.getCarsconfigDataoutputktr()).toURI()); | ||
| 106 | + | ||
| 107 | + // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | + ktrParms.put("filename", "车辆配置信息_download-"); | ||
| 110 | + | ||
| 111 | + ktrParms.putAll(params); | ||
| 112 | + | ||
| 113 | + File file = dataToolsService.exportData(ktrParms); | ||
| 114 | + | ||
| 115 | + LOGGER.info("//---------------- 导出车辆配置信息 success... ----------------//"); | ||
| 116 | + | ||
| 117 | + return file; | ||
| 118 | + | ||
| 119 | + } catch (Exception exp) { | ||
| 120 | + LOGGER.info("//---------------- 导出车辆配置信息 failed... ----------------//"); | ||
| 121 | + | ||
| 122 | + StringWriter sw = new StringWriter(); | ||
| 123 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | + LOGGER.info(sw.toString()); | ||
| 125 | + | ||
| 126 | + throw new ScheduleException(exp.getMessage()); | ||
| 127 | + } | ||
| 128 | + } | ||
| 129 | +} |
src/main/java/com/bsth/service/schedule/datatools/CarsDataToolsImpl.java
| 1 | -package com.bsth.service.schedule.datatools; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | -import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | -import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | -import jxl.Cell; | ||
| 7 | -import jxl.Sheet; | ||
| 8 | -import jxl.Workbook; | ||
| 9 | -import jxl.write.Label; | ||
| 10 | -import jxl.write.WritableSheet; | ||
| 11 | -import jxl.write.WritableWorkbook; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | -import org.springframework.stereotype.Service; | ||
| 18 | - | ||
| 19 | -import java.io.File; | ||
| 20 | -import java.io.PrintWriter; | ||
| 21 | -import java.io.StringWriter; | ||
| 22 | -import java.util.HashMap; | ||
| 23 | -import java.util.Map; | ||
| 24 | - | ||
| 25 | -/** | ||
| 26 | - * Created by xu on 17/5/16. | ||
| 27 | - */ | ||
| 28 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | -@Service(value = "cars_dataTool") | ||
| 30 | -public class CarsDataToolsImpl implements DataToolsService { | ||
| 31 | - /** 日志记录器 */ | ||
| 32 | - private final static Logger LOGGER = LoggerFactory.getLogger(CarsDataToolsImpl.class); | ||
| 33 | - | ||
| 34 | - @Autowired | ||
| 35 | - @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | - private DataToolsService dataToolsService; | ||
| 37 | - | ||
| 38 | - @Autowired | ||
| 39 | - private DataToolsProperties dataToolsProperties; | ||
| 40 | - | ||
| 41 | - @Override | ||
| 42 | - public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | - try { | ||
| 44 | - // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | - File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | - Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | - Sheet sheet = workbook.getSheet(0); | ||
| 48 | - | ||
| 49 | - File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | - WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | - WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | - for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | - Cell[] cells = sheet.getRow(i); | ||
| 54 | - for (int j = 0; j < cells.length; j++) { | ||
| 55 | - writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | - } | ||
| 57 | - } | ||
| 58 | - writableWorkbook.write(); | ||
| 59 | - writableWorkbook.close(); | ||
| 60 | - | ||
| 61 | - return fileCal; | ||
| 62 | - | ||
| 63 | - } catch (Exception exp) { | ||
| 64 | - throw new ScheduleException(exp); | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - @Override | ||
| 69 | - public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | - try { | ||
| 71 | - LOGGER.info("//---------------- 导入车辆基础信息 start... ----------------//"); | ||
| 72 | - // 创建ktr转换所需参数 | ||
| 73 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | - File ktrFile = new File(this.getClass().getResource( | ||
| 75 | - dataToolsProperties.getCarsDatainputktr()).toURI()); | ||
| 76 | - | ||
| 77 | - // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | - ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | - ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | - | ||
| 82 | - dataToolsService.importData(file, ktrParms); | ||
| 83 | - | ||
| 84 | - LOGGER.info("//---------------- 导入车辆基础信息 success... ----------------//"); | ||
| 85 | - } catch (Exception exp) { | ||
| 86 | - LOGGER.info("//---------------- 导入车辆基础信息 failed... ----------------//"); | ||
| 87 | - | ||
| 88 | - StringWriter sw = new StringWriter(); | ||
| 89 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 90 | - LOGGER.info(sw.toString()); | ||
| 91 | - | ||
| 92 | - throw new ScheduleException(exp.getMessage()); | ||
| 93 | - } | ||
| 94 | - } | ||
| 95 | - | ||
| 96 | - @Override | ||
| 97 | - public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 98 | - try { | ||
| 99 | - LOGGER.info("//---------------- 导出车辆基础信息 start... ----------------//"); | ||
| 100 | - // 创建ktr转换所需参数 | ||
| 101 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 102 | - File ktrFile = new File(this.getClass().getResource( | ||
| 103 | - dataToolsProperties.getCarsDataoutputktr()).toURI()); | ||
| 104 | - | ||
| 105 | - // 通用参数,转换文件路径,excel输出文件名 | ||
| 106 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 107 | - ktrParms.put("filename", "车辆基础信息_download-"); | ||
| 108 | - | ||
| 109 | - File file = dataToolsService.exportData(ktrParms); | ||
| 110 | - | ||
| 111 | - LOGGER.info("//---------------- 导出车辆基础信息 success... ----------------//"); | ||
| 112 | - | ||
| 113 | - return file; | ||
| 114 | - | ||
| 115 | - } catch (Exception exp) { | ||
| 116 | - LOGGER.info("//---------------- 导出车辆基础信息 failed... ----------------//"); | ||
| 117 | - | ||
| 118 | - StringWriter sw = new StringWriter(); | ||
| 119 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 120 | - LOGGER.info(sw.toString()); | ||
| 121 | - | ||
| 122 | - throw new ScheduleException(exp.getMessage()); | ||
| 123 | - } | ||
| 124 | - } | ||
| 125 | -} | 1 | +package com.bsth.service.schedule.datatools; |
| 2 | + | ||
| 3 | +import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | +import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | +import jxl.Cell; | ||
| 7 | +import jxl.Sheet; | ||
| 8 | +import jxl.Workbook; | ||
| 9 | +import jxl.write.Label; | ||
| 10 | +import jxl.write.WritableSheet; | ||
| 11 | +import jxl.write.WritableWorkbook; | ||
| 12 | +import org.slf4j.Logger; | ||
| 13 | +import org.slf4j.LoggerFactory; | ||
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | +import org.springframework.stereotype.Service; | ||
| 18 | + | ||
| 19 | +import java.io.File; | ||
| 20 | +import java.io.PrintWriter; | ||
| 21 | +import java.io.StringWriter; | ||
| 22 | +import java.util.HashMap; | ||
| 23 | +import java.util.Map; | ||
| 24 | + | ||
| 25 | +/** | ||
| 26 | + * Created by xu on 17/5/16. | ||
| 27 | + */ | ||
| 28 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | +@Service(value = "cars_dataTool") | ||
| 30 | +public class CarsDataToolsImpl implements DataToolsService { | ||
| 31 | + /** 日志记录器 */ | ||
| 32 | + private final static Logger LOGGER = LoggerFactory.getLogger(CarsDataToolsImpl.class); | ||
| 33 | + | ||
| 34 | + @Autowired | ||
| 35 | + @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | + private DataToolsService dataToolsService; | ||
| 37 | + | ||
| 38 | + @Autowired | ||
| 39 | + private DataToolsProperties dataToolsProperties; | ||
| 40 | + | ||
| 41 | + @Override | ||
| 42 | + public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | + try { | ||
| 44 | + // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | + File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | + Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | + Sheet sheet = workbook.getSheet(0); | ||
| 48 | + | ||
| 49 | + File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | + WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | + for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | + Cell[] cells = sheet.getRow(i); | ||
| 54 | + for (int j = 0; j < cells.length; j++) { | ||
| 55 | + writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + writableWorkbook.write(); | ||
| 59 | + writableWorkbook.close(); | ||
| 60 | + | ||
| 61 | + return fileCal; | ||
| 62 | + | ||
| 63 | + } catch (Exception exp) { | ||
| 64 | + throw new ScheduleException(exp); | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Override | ||
| 69 | + public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | + try { | ||
| 71 | + LOGGER.info("//---------------- 导入车辆基础信息 start... ----------------//"); | ||
| 72 | + // 创建ktr转换所需参数 | ||
| 73 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | + File ktrFile = new File(this.getClass().getResource( | ||
| 75 | + dataToolsProperties.getCarsDatainputktr()).toURI()); | ||
| 76 | + | ||
| 77 | + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | + ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | + | ||
| 82 | + dataToolsService.importData(file, ktrParms); | ||
| 83 | + | ||
| 84 | + LOGGER.info("//---------------- 导入车辆基础信息 success... ----------------//"); | ||
| 85 | + } catch (Exception exp) { | ||
| 86 | + LOGGER.info("//---------------- 导入车辆基础信息 failed... ----------------//"); | ||
| 87 | + | ||
| 88 | + StringWriter sw = new StringWriter(); | ||
| 89 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 90 | + LOGGER.info(sw.toString()); | ||
| 91 | + | ||
| 92 | + throw new ScheduleException(exp.getMessage()); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + @Override | ||
| 97 | + public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 98 | + try { | ||
| 99 | + LOGGER.info("//---------------- 导出车辆基础信息 start... ----------------//"); | ||
| 100 | + // 创建ktr转换所需参数 | ||
| 101 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 102 | + File ktrFile = new File(this.getClass().getResource( | ||
| 103 | + dataToolsProperties.getCarsDataoutputktr()).toURI()); | ||
| 104 | + | ||
| 105 | + // 通用参数,转换文件路径,excel输出文件名 | ||
| 106 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 107 | + ktrParms.put("filename", "车辆基础信息_download-"); | ||
| 108 | + | ||
| 109 | + File file = dataToolsService.exportData(ktrParms); | ||
| 110 | + | ||
| 111 | + LOGGER.info("//---------------- 导出车辆基础信息 success... ----------------//"); | ||
| 112 | + | ||
| 113 | + return file; | ||
| 114 | + | ||
| 115 | + } catch (Exception exp) { | ||
| 116 | + LOGGER.info("//---------------- 导出车辆基础信息 failed... ----------------//"); | ||
| 117 | + | ||
| 118 | + StringWriter sw = new StringWriter(); | ||
| 119 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 120 | + LOGGER.info(sw.toString()); | ||
| 121 | + | ||
| 122 | + throw new ScheduleException(exp.getMessage()); | ||
| 123 | + } | ||
| 124 | + } | ||
| 125 | +} |
src/main/java/com/bsth/service/schedule/datatools/EmployeeConfigInfoDataToolsImpl.java
| 1 | -package com.bsth.service.schedule.datatools; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | -import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | -import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | -import jxl.Cell; | ||
| 7 | -import jxl.Sheet; | ||
| 8 | -import jxl.Workbook; | ||
| 9 | -import jxl.write.Label; | ||
| 10 | -import jxl.write.WritableSheet; | ||
| 11 | -import jxl.write.WritableWorkbook; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | -import org.springframework.stereotype.Service; | ||
| 18 | - | ||
| 19 | -import java.io.File; | ||
| 20 | -import java.io.PrintWriter; | ||
| 21 | -import java.io.StringWriter; | ||
| 22 | -import java.util.HashMap; | ||
| 23 | -import java.util.Map; | ||
| 24 | - | ||
| 25 | -/** | ||
| 26 | - * Created by xu on 17/5/16. | ||
| 27 | - */ | ||
| 28 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | -@Service(value = "employeeConfig_dataTool") | ||
| 30 | -public class EmployeeConfigInfoDataToolsImpl implements DataToolsService { | ||
| 31 | - /** 日志记录器 */ | ||
| 32 | - private static final Logger LOGGER = LoggerFactory.getLogger(EmployeeConfigInfoDataToolsImpl.class); | ||
| 33 | - | ||
| 34 | - @Autowired | ||
| 35 | - @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | - private DataToolsService dataToolsService; | ||
| 37 | - | ||
| 38 | - @Autowired | ||
| 39 | - private DataToolsProperties dataToolsProperties; | ||
| 40 | - | ||
| 41 | - @Override | ||
| 42 | - public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | - try { | ||
| 44 | - // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | - File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | - Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | - Sheet sheet = workbook.getSheet(0); | ||
| 48 | - | ||
| 49 | - File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | - WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | - WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | - for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | - Cell[] cells = sheet.getRow(i); | ||
| 54 | - for (int j = 0; j < cells.length; j++) { | ||
| 55 | - writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | - } | ||
| 57 | - } | ||
| 58 | - writableWorkbook.write(); | ||
| 59 | - writableWorkbook.close(); | ||
| 60 | - | ||
| 61 | - return fileCal; | ||
| 62 | - | ||
| 63 | - } catch (Exception exp) { | ||
| 64 | - throw new ScheduleException(exp); | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - @Override | ||
| 69 | - public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | - try { | ||
| 71 | - LOGGER.info("//---------------- 导入人员配置信息 start... ----------------//"); | ||
| 72 | - // 创建ktr转换所需参数 | ||
| 73 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | - File ktrFile = new File(this.getClass().getResource( | ||
| 75 | - dataToolsProperties.getEmployeesconfigDatainputktr()).toURI()); | ||
| 76 | - | ||
| 77 | - // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | - ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | - ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | - | ||
| 82 | - ktrParms.putAll(params); | ||
| 83 | - | ||
| 84 | - dataToolsService.importData(file, ktrParms); | ||
| 85 | - | ||
| 86 | - LOGGER.info("//---------------- 导入人员配置信息 success... ----------------//"); | ||
| 87 | - } catch (Exception exp) { | ||
| 88 | - LOGGER.info("//---------------- 导入人员配置信息 failed... ----------------//"); | ||
| 89 | - | ||
| 90 | - StringWriter sw = new StringWriter(); | ||
| 91 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | - LOGGER.info(sw.toString()); | ||
| 93 | - | ||
| 94 | - throw new ScheduleException(exp.getMessage()); | ||
| 95 | - } | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | - @Override | ||
| 99 | - public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | - try { | ||
| 101 | - LOGGER.info("//---------------- 导出人员配置信息 start... ----------------//"); | ||
| 102 | - // 创建ktr转换所需参数 | ||
| 103 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | - File ktrFile = new File(this.getClass().getResource( | ||
| 105 | - dataToolsProperties.getEmployeesconfigDataoutputktr()).toURI()); | ||
| 106 | - | ||
| 107 | - // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | - ktrParms.put("filename", "人员配置信息_download-"); | ||
| 110 | - | ||
| 111 | - ktrParms.putAll(params); | ||
| 112 | - | ||
| 113 | - File file = dataToolsService.exportData(ktrParms); | ||
| 114 | - | ||
| 115 | - LOGGER.info("//---------------- 导出人员配置信息 success... ----------------//"); | ||
| 116 | - | ||
| 117 | - return file; | ||
| 118 | - | ||
| 119 | - } catch (Exception exp) { | ||
| 120 | - LOGGER.info("//---------------- 导出人员配置信息 failed... ----------------//"); | ||
| 121 | - | ||
| 122 | - StringWriter sw = new StringWriter(); | ||
| 123 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | - LOGGER.info(sw.toString()); | ||
| 125 | - | ||
| 126 | - throw new ScheduleException(exp.getMessage()); | ||
| 127 | - } | ||
| 128 | - } | ||
| 129 | -} | 1 | +package com.bsth.service.schedule.datatools; |
| 2 | + | ||
| 3 | +import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | +import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | +import jxl.Cell; | ||
| 7 | +import jxl.Sheet; | ||
| 8 | +import jxl.Workbook; | ||
| 9 | +import jxl.write.Label; | ||
| 10 | +import jxl.write.WritableSheet; | ||
| 11 | +import jxl.write.WritableWorkbook; | ||
| 12 | +import org.slf4j.Logger; | ||
| 13 | +import org.slf4j.LoggerFactory; | ||
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | +import org.springframework.stereotype.Service; | ||
| 18 | + | ||
| 19 | +import java.io.File; | ||
| 20 | +import java.io.PrintWriter; | ||
| 21 | +import java.io.StringWriter; | ||
| 22 | +import java.util.HashMap; | ||
| 23 | +import java.util.Map; | ||
| 24 | + | ||
| 25 | +/** | ||
| 26 | + * Created by xu on 17/5/16. | ||
| 27 | + */ | ||
| 28 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | +@Service(value = "employeeConfig_dataTool") | ||
| 30 | +public class EmployeeConfigInfoDataToolsImpl implements DataToolsService { | ||
| 31 | + /** 日志记录器 */ | ||
| 32 | + private static final Logger LOGGER = LoggerFactory.getLogger(EmployeeConfigInfoDataToolsImpl.class); | ||
| 33 | + | ||
| 34 | + @Autowired | ||
| 35 | + @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | + private DataToolsService dataToolsService; | ||
| 37 | + | ||
| 38 | + @Autowired | ||
| 39 | + private DataToolsProperties dataToolsProperties; | ||
| 40 | + | ||
| 41 | + @Override | ||
| 42 | + public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | + try { | ||
| 44 | + // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | + File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | + Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | + Sheet sheet = workbook.getSheet(0); | ||
| 48 | + | ||
| 49 | + File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | + WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | + for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | + Cell[] cells = sheet.getRow(i); | ||
| 54 | + for (int j = 0; j < cells.length; j++) { | ||
| 55 | + writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + writableWorkbook.write(); | ||
| 59 | + writableWorkbook.close(); | ||
| 60 | + | ||
| 61 | + return fileCal; | ||
| 62 | + | ||
| 63 | + } catch (Exception exp) { | ||
| 64 | + throw new ScheduleException(exp); | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Override | ||
| 69 | + public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | + try { | ||
| 71 | + LOGGER.info("//---------------- 导入人员配置信息 start... ----------------//"); | ||
| 72 | + // 创建ktr转换所需参数 | ||
| 73 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | + File ktrFile = new File(this.getClass().getResource( | ||
| 75 | + dataToolsProperties.getEmployeesconfigDatainputktr()).toURI()); | ||
| 76 | + | ||
| 77 | + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | + ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | + | ||
| 82 | + ktrParms.putAll(params); | ||
| 83 | + | ||
| 84 | + dataToolsService.importData(file, ktrParms); | ||
| 85 | + | ||
| 86 | + LOGGER.info("//---------------- 导入人员配置信息 success... ----------------//"); | ||
| 87 | + } catch (Exception exp) { | ||
| 88 | + LOGGER.info("//---------------- 导入人员配置信息 failed... ----------------//"); | ||
| 89 | + | ||
| 90 | + StringWriter sw = new StringWriter(); | ||
| 91 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | + LOGGER.info(sw.toString()); | ||
| 93 | + | ||
| 94 | + throw new ScheduleException(exp.getMessage()); | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + @Override | ||
| 99 | + public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | + try { | ||
| 101 | + LOGGER.info("//---------------- 导出人员配置信息 start... ----------------//"); | ||
| 102 | + // 创建ktr转换所需参数 | ||
| 103 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | + File ktrFile = new File(this.getClass().getResource( | ||
| 105 | + dataToolsProperties.getEmployeesconfigDataoutputktr()).toURI()); | ||
| 106 | + | ||
| 107 | + // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | + ktrParms.put("filename", "人员配置信息_download-"); | ||
| 110 | + | ||
| 111 | + ktrParms.putAll(params); | ||
| 112 | + | ||
| 113 | + File file = dataToolsService.exportData(ktrParms); | ||
| 114 | + | ||
| 115 | + LOGGER.info("//---------------- 导出人员配置信息 success... ----------------//"); | ||
| 116 | + | ||
| 117 | + return file; | ||
| 118 | + | ||
| 119 | + } catch (Exception exp) { | ||
| 120 | + LOGGER.info("//---------------- 导出人员配置信息 failed... ----------------//"); | ||
| 121 | + | ||
| 122 | + StringWriter sw = new StringWriter(); | ||
| 123 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | + LOGGER.info(sw.toString()); | ||
| 125 | + | ||
| 126 | + throw new ScheduleException(exp.getMessage()); | ||
| 127 | + } | ||
| 128 | + } | ||
| 129 | +} |
src/main/java/com/bsth/service/schedule/datatools/EmployeeDataToolsImpl.java
| 1 | -package com.bsth.service.schedule.datatools; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | -import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | -import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | -import jxl.Cell; | ||
| 7 | -import jxl.Sheet; | ||
| 8 | -import jxl.Workbook; | ||
| 9 | -import jxl.write.Label; | ||
| 10 | -import jxl.write.WritableSheet; | ||
| 11 | -import jxl.write.WritableWorkbook; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | -import org.springframework.stereotype.Service; | ||
| 18 | - | ||
| 19 | -import java.io.File; | ||
| 20 | -import java.io.PrintWriter; | ||
| 21 | -import java.io.StringWriter; | ||
| 22 | -import java.util.HashMap; | ||
| 23 | -import java.util.Map; | ||
| 24 | - | ||
| 25 | -/** | ||
| 26 | - * Created by xu on 17/5/16. | ||
| 27 | - */ | ||
| 28 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | -@Service(value = "employee_dataTool") | ||
| 30 | -public class EmployeeDataToolsImpl implements DataToolsService { | ||
| 31 | - /** 日志记录器 */ | ||
| 32 | - private final static Logger LOGGER = LoggerFactory.getLogger(EmployeeDataToolsImpl.class); | ||
| 33 | - | ||
| 34 | - @Autowired | ||
| 35 | - @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | - private DataToolsService dataToolsService; | ||
| 37 | - | ||
| 38 | - @Autowired | ||
| 39 | - private DataToolsProperties dataToolsProperties; | ||
| 40 | - | ||
| 41 | - @Override | ||
| 42 | - public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | - try { | ||
| 44 | - // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | - File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | - Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | - Sheet sheet = workbook.getSheet(0); | ||
| 48 | - | ||
| 49 | - File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | - WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | - WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | - for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | - Cell[] cells = sheet.getRow(i); | ||
| 54 | - for (int j = 0; j < cells.length; j++) { | ||
| 55 | - writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | - } | ||
| 57 | - } | ||
| 58 | - writableWorkbook.write(); | ||
| 59 | - writableWorkbook.close(); | ||
| 60 | - | ||
| 61 | - return fileCal; | ||
| 62 | - | ||
| 63 | - } catch (Exception exp) { | ||
| 64 | - throw new ScheduleException(exp); | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - @Override | ||
| 69 | - public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | - try { | ||
| 71 | - LOGGER.info("//---------------- 导入人员基础信息 start... ----------------//"); | ||
| 72 | - // 创建ktr转换所需参数 | ||
| 73 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | - File ktrFile = new File(this.getClass().getResource( | ||
| 75 | - dataToolsProperties.getEmployeesDatainputktr()).toURI()); | ||
| 76 | - | ||
| 77 | - // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | - ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | - ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | - | ||
| 82 | - dataToolsService.importData(file, ktrParms); | ||
| 83 | - | ||
| 84 | - LOGGER.info("//---------------- 导入人员基础信息 success... ----------------//"); | ||
| 85 | - } catch (Exception exp) { | ||
| 86 | - LOGGER.info("//---------------- 导入人员基础信息 failed... ----------------//"); | ||
| 87 | - | ||
| 88 | - StringWriter sw = new StringWriter(); | ||
| 89 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 90 | - LOGGER.info(sw.toString()); | ||
| 91 | - | ||
| 92 | - throw new ScheduleException(exp.getMessage()); | ||
| 93 | - } | ||
| 94 | - } | ||
| 95 | - | ||
| 96 | - @Override | ||
| 97 | - public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 98 | - try { | ||
| 99 | - LOGGER.info("//---------------- 导出人员基础信息 start... ----------------//"); | ||
| 100 | - // 创建ktr转换所需参数 | ||
| 101 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 102 | - File ktrFile = new File(this.getClass().getResource( | ||
| 103 | - dataToolsProperties.getEmployeesDataoutputktr()).toURI()); | ||
| 104 | - | ||
| 105 | - // 通用参数,转换文件路径,excel输出文件名 | ||
| 106 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 107 | - ktrParms.put("filename", "人员基础信息_download-"); | ||
| 108 | - | ||
| 109 | - File file = dataToolsService.exportData(ktrParms); | ||
| 110 | - | ||
| 111 | - LOGGER.info("//---------------- 导出人员基础信息 success... ----------------//"); | ||
| 112 | - | ||
| 113 | - return file; | ||
| 114 | - | ||
| 115 | - } catch (Exception exp) { | ||
| 116 | - LOGGER.info("//---------------- 导出人员基础信息 failed... ----------------//"); | ||
| 117 | - | ||
| 118 | - StringWriter sw = new StringWriter(); | ||
| 119 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 120 | - LOGGER.info(sw.toString()); | ||
| 121 | - | ||
| 122 | - throw new ScheduleException(exp.getMessage()); | ||
| 123 | - } | ||
| 124 | - } | ||
| 125 | -} | 1 | +package com.bsth.service.schedule.datatools; |
| 2 | + | ||
| 3 | +import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | +import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | +import jxl.Cell; | ||
| 7 | +import jxl.Sheet; | ||
| 8 | +import jxl.Workbook; | ||
| 9 | +import jxl.write.Label; | ||
| 10 | +import jxl.write.WritableSheet; | ||
| 11 | +import jxl.write.WritableWorkbook; | ||
| 12 | +import org.slf4j.Logger; | ||
| 13 | +import org.slf4j.LoggerFactory; | ||
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | +import org.springframework.stereotype.Service; | ||
| 18 | + | ||
| 19 | +import java.io.File; | ||
| 20 | +import java.io.PrintWriter; | ||
| 21 | +import java.io.StringWriter; | ||
| 22 | +import java.util.HashMap; | ||
| 23 | +import java.util.Map; | ||
| 24 | + | ||
| 25 | +/** | ||
| 26 | + * Created by xu on 17/5/16. | ||
| 27 | + */ | ||
| 28 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | +@Service(value = "employee_dataTool") | ||
| 30 | +public class EmployeeDataToolsImpl implements DataToolsService { | ||
| 31 | + /** 日志记录器 */ | ||
| 32 | + private final static Logger LOGGER = LoggerFactory.getLogger(EmployeeDataToolsImpl.class); | ||
| 33 | + | ||
| 34 | + @Autowired | ||
| 35 | + @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | + private DataToolsService dataToolsService; | ||
| 37 | + | ||
| 38 | + @Autowired | ||
| 39 | + private DataToolsProperties dataToolsProperties; | ||
| 40 | + | ||
| 41 | + @Override | ||
| 42 | + public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | + try { | ||
| 44 | + // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | + File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | + Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | + Sheet sheet = workbook.getSheet(0); | ||
| 48 | + | ||
| 49 | + File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | + WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | + for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | + Cell[] cells = sheet.getRow(i); | ||
| 54 | + for (int j = 0; j < cells.length; j++) { | ||
| 55 | + writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + writableWorkbook.write(); | ||
| 59 | + writableWorkbook.close(); | ||
| 60 | + | ||
| 61 | + return fileCal; | ||
| 62 | + | ||
| 63 | + } catch (Exception exp) { | ||
| 64 | + throw new ScheduleException(exp); | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Override | ||
| 69 | + public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | + try { | ||
| 71 | + LOGGER.info("//---------------- 导入人员基础信息 start... ----------------//"); | ||
| 72 | + // 创建ktr转换所需参数 | ||
| 73 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | + File ktrFile = new File(this.getClass().getResource( | ||
| 75 | + dataToolsProperties.getEmployeesDatainputktr()).toURI()); | ||
| 76 | + | ||
| 77 | + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | + ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | + | ||
| 82 | + dataToolsService.importData(file, ktrParms); | ||
| 83 | + | ||
| 84 | + LOGGER.info("//---------------- 导入人员基础信息 success... ----------------//"); | ||
| 85 | + } catch (Exception exp) { | ||
| 86 | + LOGGER.info("//---------------- 导入人员基础信息 failed... ----------------//"); | ||
| 87 | + | ||
| 88 | + StringWriter sw = new StringWriter(); | ||
| 89 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 90 | + LOGGER.info(sw.toString()); | ||
| 91 | + | ||
| 92 | + throw new ScheduleException(exp.getMessage()); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + @Override | ||
| 97 | + public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 98 | + try { | ||
| 99 | + LOGGER.info("//---------------- 导出人员基础信息 start... ----------------//"); | ||
| 100 | + // 创建ktr转换所需参数 | ||
| 101 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 102 | + File ktrFile = new File(this.getClass().getResource( | ||
| 103 | + dataToolsProperties.getEmployeesDataoutputktr()).toURI()); | ||
| 104 | + | ||
| 105 | + // 通用参数,转换文件路径,excel输出文件名 | ||
| 106 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 107 | + ktrParms.put("filename", "人员基础信息_download-"); | ||
| 108 | + | ||
| 109 | + File file = dataToolsService.exportData(ktrParms); | ||
| 110 | + | ||
| 111 | + LOGGER.info("//---------------- 导出人员基础信息 success... ----------------//"); | ||
| 112 | + | ||
| 113 | + return file; | ||
| 114 | + | ||
| 115 | + } catch (Exception exp) { | ||
| 116 | + LOGGER.info("//---------------- 导出人员基础信息 failed... ----------------//"); | ||
| 117 | + | ||
| 118 | + StringWriter sw = new StringWriter(); | ||
| 119 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 120 | + LOGGER.info(sw.toString()); | ||
| 121 | + | ||
| 122 | + throw new ScheduleException(exp.getMessage()); | ||
| 123 | + } | ||
| 124 | + } | ||
| 125 | +} |
src/main/java/com/bsth/service/schedule/datatools/GuideboardInfoDataToolsImpl.java
| 1 | -package com.bsth.service.schedule.datatools; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | -import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | -import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | -import jxl.Cell; | ||
| 7 | -import jxl.Sheet; | ||
| 8 | -import jxl.Workbook; | ||
| 9 | -import jxl.write.Label; | ||
| 10 | -import jxl.write.WritableSheet; | ||
| 11 | -import jxl.write.WritableWorkbook; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | -import org.springframework.stereotype.Service; | ||
| 18 | - | ||
| 19 | -import java.io.File; | ||
| 20 | -import java.io.PrintWriter; | ||
| 21 | -import java.io.StringWriter; | ||
| 22 | -import java.util.HashMap; | ||
| 23 | -import java.util.Map; | ||
| 24 | - | ||
| 25 | -/** | ||
| 26 | - * Created by xu on 17/5/16. | ||
| 27 | - */ | ||
| 28 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | -@Service(value = "gbInfo_dataTool") | ||
| 30 | -public class GuideboardInfoDataToolsImpl implements DataToolsService { | ||
| 31 | - /** 日志记录器 */ | ||
| 32 | - private final static Logger LOGGER = LoggerFactory.getLogger(GuideboardInfoDataToolsImpl.class); | ||
| 33 | - | ||
| 34 | - @Autowired | ||
| 35 | - @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | - private DataToolsService dataToolsService; | ||
| 37 | - | ||
| 38 | - @Autowired | ||
| 39 | - private DataToolsProperties dataToolsProperties; | ||
| 40 | - | ||
| 41 | - @Override | ||
| 42 | - public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | - try { | ||
| 44 | - // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | - File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | - Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | - Sheet sheet = workbook.getSheet(0); | ||
| 48 | - | ||
| 49 | - File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | - WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | - WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | - for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | - Cell[] cells = sheet.getRow(i); | ||
| 54 | - for (int j = 0; j < cells.length; j++) { | ||
| 55 | - writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | - } | ||
| 57 | - } | ||
| 58 | - writableWorkbook.write(); | ||
| 59 | - writableWorkbook.close(); | ||
| 60 | - | ||
| 61 | - return fileCal; | ||
| 62 | - | ||
| 63 | - } catch (Exception exp) { | ||
| 64 | - throw new ScheduleException(exp); | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - @Override | ||
| 69 | - public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | - try { | ||
| 71 | - LOGGER.info("//---------------- 导入路牌信息 start... ----------------//"); | ||
| 72 | - // 创建ktr转换所需参数 | ||
| 73 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | - File ktrFile = new File(this.getClass().getResource( | ||
| 75 | - dataToolsProperties.getGuideboardsDatainputktr()).toURI()); | ||
| 76 | - | ||
| 77 | - // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | - ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | - ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | - | ||
| 82 | - ktrParms.putAll(params); | ||
| 83 | - | ||
| 84 | - dataToolsService.importData(file, ktrParms); | ||
| 85 | - | ||
| 86 | - LOGGER.info("//---------------- 导入路牌信息 success... ----------------//"); | ||
| 87 | - } catch (Exception exp) { | ||
| 88 | - LOGGER.info("//---------------- 导入路牌信息 failed... ----------------//"); | ||
| 89 | - | ||
| 90 | - StringWriter sw = new StringWriter(); | ||
| 91 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | - LOGGER.info(sw.toString()); | ||
| 93 | - | ||
| 94 | - throw new ScheduleException(exp.getMessage()); | ||
| 95 | - } | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | - @Override | ||
| 99 | - public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | - try { | ||
| 101 | - LOGGER.info("//---------------- 导出路牌信息 start... ----------------//"); | ||
| 102 | - // 创建ktr转换所需参数 | ||
| 103 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | - File ktrFile = new File(this.getClass().getResource( | ||
| 105 | - dataToolsProperties.getGuideboardsDataoutputktr()).toURI()); | ||
| 106 | - | ||
| 107 | - // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | - ktrParms.put("filename", "路牌信息_download-"); | ||
| 110 | - | ||
| 111 | - ktrParms.putAll(params); | ||
| 112 | - | ||
| 113 | - File file = dataToolsService.exportData(ktrParms); | ||
| 114 | - | ||
| 115 | - LOGGER.info("//---------------- 导出路牌信息 success... ----------------//"); | ||
| 116 | - | ||
| 117 | - return file; | ||
| 118 | - | ||
| 119 | - } catch (Exception exp) { | ||
| 120 | - LOGGER.info("//---------------- 导出路牌信息 failed... ----------------//"); | ||
| 121 | - | ||
| 122 | - StringWriter sw = new StringWriter(); | ||
| 123 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | - LOGGER.info(sw.toString()); | ||
| 125 | - | ||
| 126 | - throw new ScheduleException(exp.getMessage()); | ||
| 127 | - } | ||
| 128 | - } | ||
| 129 | -} | 1 | +package com.bsth.service.schedule.datatools; |
| 2 | + | ||
| 3 | +import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | +import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | +import jxl.Cell; | ||
| 7 | +import jxl.Sheet; | ||
| 8 | +import jxl.Workbook; | ||
| 9 | +import jxl.write.Label; | ||
| 10 | +import jxl.write.WritableSheet; | ||
| 11 | +import jxl.write.WritableWorkbook; | ||
| 12 | +import org.slf4j.Logger; | ||
| 13 | +import org.slf4j.LoggerFactory; | ||
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | +import org.springframework.stereotype.Service; | ||
| 18 | + | ||
| 19 | +import java.io.File; | ||
| 20 | +import java.io.PrintWriter; | ||
| 21 | +import java.io.StringWriter; | ||
| 22 | +import java.util.HashMap; | ||
| 23 | +import java.util.Map; | ||
| 24 | + | ||
| 25 | +/** | ||
| 26 | + * Created by xu on 17/5/16. | ||
| 27 | + */ | ||
| 28 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | +@Service(value = "gbInfo_dataTool") | ||
| 30 | +public class GuideboardInfoDataToolsImpl implements DataToolsService { | ||
| 31 | + /** 日志记录器 */ | ||
| 32 | + private final static Logger LOGGER = LoggerFactory.getLogger(GuideboardInfoDataToolsImpl.class); | ||
| 33 | + | ||
| 34 | + @Autowired | ||
| 35 | + @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | + private DataToolsService dataToolsService; | ||
| 37 | + | ||
| 38 | + @Autowired | ||
| 39 | + private DataToolsProperties dataToolsProperties; | ||
| 40 | + | ||
| 41 | + @Override | ||
| 42 | + public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | + try { | ||
| 44 | + // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | + File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | + Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | + Sheet sheet = workbook.getSheet(0); | ||
| 48 | + | ||
| 49 | + File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | + WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | + for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | + Cell[] cells = sheet.getRow(i); | ||
| 54 | + for (int j = 0; j < cells.length; j++) { | ||
| 55 | + writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + writableWorkbook.write(); | ||
| 59 | + writableWorkbook.close(); | ||
| 60 | + | ||
| 61 | + return fileCal; | ||
| 62 | + | ||
| 63 | + } catch (Exception exp) { | ||
| 64 | + throw new ScheduleException(exp); | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Override | ||
| 69 | + public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | + try { | ||
| 71 | + LOGGER.info("//---------------- 导入路牌信息 start... ----------------//"); | ||
| 72 | + // 创建ktr转换所需参数 | ||
| 73 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | + File ktrFile = new File(this.getClass().getResource( | ||
| 75 | + dataToolsProperties.getGuideboardsDatainputktr()).toURI()); | ||
| 76 | + | ||
| 77 | + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | + ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | + | ||
| 82 | + ktrParms.putAll(params); | ||
| 83 | + | ||
| 84 | + dataToolsService.importData(file, ktrParms); | ||
| 85 | + | ||
| 86 | + LOGGER.info("//---------------- 导入路牌信息 success... ----------------//"); | ||
| 87 | + } catch (Exception exp) { | ||
| 88 | + LOGGER.info("//---------------- 导入路牌信息 failed... ----------------//"); | ||
| 89 | + | ||
| 90 | + StringWriter sw = new StringWriter(); | ||
| 91 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | + LOGGER.info(sw.toString()); | ||
| 93 | + | ||
| 94 | + throw new ScheduleException(exp.getMessage()); | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + @Override | ||
| 99 | + public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | + try { | ||
| 101 | + LOGGER.info("//---------------- 导出路牌信息 start... ----------------//"); | ||
| 102 | + // 创建ktr转换所需参数 | ||
| 103 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | + File ktrFile = new File(this.getClass().getResource( | ||
| 105 | + dataToolsProperties.getGuideboardsDataoutputktr()).toURI()); | ||
| 106 | + | ||
| 107 | + // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | + ktrParms.put("filename", "路牌信息_download-"); | ||
| 110 | + | ||
| 111 | + ktrParms.putAll(params); | ||
| 112 | + | ||
| 113 | + File file = dataToolsService.exportData(ktrParms); | ||
| 114 | + | ||
| 115 | + LOGGER.info("//---------------- 导出路牌信息 success... ----------------//"); | ||
| 116 | + | ||
| 117 | + return file; | ||
| 118 | + | ||
| 119 | + } catch (Exception exp) { | ||
| 120 | + LOGGER.info("//---------------- 导出路牌信息 failed... ----------------//"); | ||
| 121 | + | ||
| 122 | + StringWriter sw = new StringWriter(); | ||
| 123 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | + LOGGER.info(sw.toString()); | ||
| 125 | + | ||
| 126 | + throw new ScheduleException(exp.getMessage()); | ||
| 127 | + } | ||
| 128 | + } | ||
| 129 | +} |
src/main/java/com/bsth/service/schedule/datatools/ScheduleRule1FlatDataToolsImpl.java
| 1 | -package com.bsth.service.schedule.datatools; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | -import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | -import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | -import jxl.Cell; | ||
| 7 | -import jxl.Sheet; | ||
| 8 | -import jxl.Workbook; | ||
| 9 | -import jxl.write.Label; | ||
| 10 | -import jxl.write.WritableSheet; | ||
| 11 | -import jxl.write.WritableWorkbook; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | -import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | -import org.springframework.stereotype.Service; | ||
| 18 | - | ||
| 19 | -import java.io.File; | ||
| 20 | -import java.io.PrintWriter; | ||
| 21 | -import java.io.StringWriter; | ||
| 22 | -import java.util.HashMap; | ||
| 23 | -import java.util.Map; | ||
| 24 | - | ||
| 25 | -/** | ||
| 26 | - * Created by xu on 17/5/16. | ||
| 27 | - */ | ||
| 28 | -@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | -@Service(value = "scheduleRule_dataTool") | ||
| 30 | -public class ScheduleRule1FlatDataToolsImpl implements DataToolsService { | ||
| 31 | - /** 日志记录器 */ | ||
| 32 | - private final static Logger LOGGER = LoggerFactory.getLogger(ScheduleRule1FlatDataToolsImpl.class); | ||
| 33 | - | ||
| 34 | - @Autowired | ||
| 35 | - @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | - private DataToolsService dataToolsService; | ||
| 37 | - | ||
| 38 | - @Autowired | ||
| 39 | - private DataToolsProperties dataToolsProperties; | ||
| 40 | - | ||
| 41 | - @Override | ||
| 42 | - public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | - try { | ||
| 44 | - // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | - File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | - Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | - Sheet sheet = workbook.getSheet(0); | ||
| 48 | - | ||
| 49 | - File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | - WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | - WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | - for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | - Cell[] cells = sheet.getRow(i); | ||
| 54 | - for (int j = 0; j < cells.length; j++) { | ||
| 55 | - writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | - } | ||
| 57 | - } | ||
| 58 | - writableWorkbook.write(); | ||
| 59 | - writableWorkbook.close(); | ||
| 60 | - | ||
| 61 | - return fileCal; | ||
| 62 | - | ||
| 63 | - } catch (Exception exp) { | ||
| 64 | - throw new ScheduleException(exp); | ||
| 65 | - } | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - @Override | ||
| 69 | - public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | - try { | ||
| 71 | - LOGGER.info("//---------------- 导入排版规则信息 start... ----------------//"); | ||
| 72 | - // 创建ktr转换所需参数 | ||
| 73 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | - File ktrFile = new File(this.getClass().getResource( | ||
| 75 | - dataToolsProperties.getScheduleruleDatainputktr()).toURI()); | ||
| 76 | - | ||
| 77 | - // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | - ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | - ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | - | ||
| 82 | - ktrParms.putAll(params); | ||
| 83 | - | ||
| 84 | - dataToolsService.importData(file, ktrParms); | ||
| 85 | - | ||
| 86 | - LOGGER.info("//---------------- 导入排版规则信息 success... ----------------//"); | ||
| 87 | - } catch (Exception exp) { | ||
| 88 | - LOGGER.info("//---------------- 导入排版规则信息 failed... ----------------//"); | ||
| 89 | - | ||
| 90 | - StringWriter sw = new StringWriter(); | ||
| 91 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | - LOGGER.info(sw.toString()); | ||
| 93 | - | ||
| 94 | - throw new ScheduleException(exp.getMessage()); | ||
| 95 | - } | ||
| 96 | - } | ||
| 97 | - | ||
| 98 | - @Override | ||
| 99 | - public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | - try { | ||
| 101 | - LOGGER.info("//---------------- 导出排版规则信息 start... ----------------//"); | ||
| 102 | - // 创建ktr转换所需参数 | ||
| 103 | - Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | - File ktrFile = new File(this.getClass().getResource( | ||
| 105 | - dataToolsProperties.getScheduleruleOutput()).toURI()); | ||
| 106 | - | ||
| 107 | - // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | - ktrParms.put("filename", "排版规则信息_download-"); | ||
| 110 | - | ||
| 111 | - ktrParms.putAll(params); | ||
| 112 | - | ||
| 113 | - File file = dataToolsService.exportData(ktrParms); | ||
| 114 | - | ||
| 115 | - LOGGER.info("//---------------- 导出排版规则信息 success... ----------------//"); | ||
| 116 | - | ||
| 117 | - return file; | ||
| 118 | - | ||
| 119 | - } catch (Exception exp) { | ||
| 120 | - LOGGER.info("//---------------- 导出排版规则信息 failed... ----------------//"); | ||
| 121 | - | ||
| 122 | - StringWriter sw = new StringWriter(); | ||
| 123 | - exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | - LOGGER.info(sw.toString()); | ||
| 125 | - | ||
| 126 | - throw new ScheduleException(exp.getMessage()); | ||
| 127 | - } | ||
| 128 | - } | ||
| 129 | -} | 1 | +package com.bsth.service.schedule.datatools; |
| 2 | + | ||
| 3 | +import com.bsth.service.schedule.exception.ScheduleException; | ||
| 4 | +import com.bsth.service.schedule.utils.DataToolsProperties; | ||
| 5 | +import com.bsth.service.schedule.utils.DataToolsService; | ||
| 6 | +import jxl.Cell; | ||
| 7 | +import jxl.Sheet; | ||
| 8 | +import jxl.Workbook; | ||
| 9 | +import jxl.write.Label; | ||
| 10 | +import jxl.write.WritableSheet; | ||
| 11 | +import jxl.write.WritableWorkbook; | ||
| 12 | +import org.slf4j.Logger; | ||
| 13 | +import org.slf4j.LoggerFactory; | ||
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
| 16 | +import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
| 17 | +import org.springframework.stereotype.Service; | ||
| 18 | + | ||
| 19 | +import java.io.File; | ||
| 20 | +import java.io.PrintWriter; | ||
| 21 | +import java.io.StringWriter; | ||
| 22 | +import java.util.HashMap; | ||
| 23 | +import java.util.Map; | ||
| 24 | + | ||
| 25 | +/** | ||
| 26 | + * Created by xu on 17/5/16. | ||
| 27 | + */ | ||
| 28 | +@EnableConfigurationProperties(DataToolsProperties.class) | ||
| 29 | +@Service(value = "scheduleRule_dataTool") | ||
| 30 | +public class ScheduleRule1FlatDataToolsImpl implements DataToolsService { | ||
| 31 | + /** 日志记录器 */ | ||
| 32 | + private final static Logger LOGGER = LoggerFactory.getLogger(ScheduleRule1FlatDataToolsImpl.class); | ||
| 33 | + | ||
| 34 | + @Autowired | ||
| 35 | + @Qualifier(value = "dataToolsServiceImpl") | ||
| 36 | + private DataToolsService dataToolsService; | ||
| 37 | + | ||
| 38 | + @Autowired | ||
| 39 | + private DataToolsProperties dataToolsProperties; | ||
| 40 | + | ||
| 41 | + @Override | ||
| 42 | + public File uploadFile(String filename, byte[] filedata) throws ScheduleException { | ||
| 43 | + try { | ||
| 44 | + // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 | ||
| 45 | + File file = dataToolsService.uploadFile(filename, filedata); | ||
| 46 | + Workbook workbook = Workbook.getWorkbook(file); | ||
| 47 | + Sheet sheet = workbook.getSheet(0); | ||
| 48 | + | ||
| 49 | + File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls"); | ||
| 50 | + WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal); | ||
| 51 | + WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0); | ||
| 52 | + for (int i = 0; i < sheet.getRows(); i++) { | ||
| 53 | + Cell[] cells = sheet.getRow(i); | ||
| 54 | + for (int j = 0; j < cells.length; j++) { | ||
| 55 | + writableSheet.addCell(new Label(j, i, cells[j].getContents())); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + writableWorkbook.write(); | ||
| 59 | + writableWorkbook.close(); | ||
| 60 | + | ||
| 61 | + return fileCal; | ||
| 62 | + | ||
| 63 | + } catch (Exception exp) { | ||
| 64 | + throw new ScheduleException(exp); | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Override | ||
| 69 | + public void importData(File file, Map<String, Object> params) throws ScheduleException { | ||
| 70 | + try { | ||
| 71 | + LOGGER.info("//---------------- 导入排版规则信息 start... ----------------//"); | ||
| 72 | + // 创建ktr转换所需参数 | ||
| 73 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 74 | + File ktrFile = new File(this.getClass().getResource( | ||
| 75 | + dataToolsProperties.getScheduleruleDatainputktr()).toURI()); | ||
| 76 | + | ||
| 77 | + // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | ||
| 78 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 79 | + ktrParms.put("filepath", file.getAbsolutePath()); | ||
| 80 | + ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | ||
| 81 | + | ||
| 82 | + ktrParms.putAll(params); | ||
| 83 | + | ||
| 84 | + dataToolsService.importData(file, ktrParms); | ||
| 85 | + | ||
| 86 | + LOGGER.info("//---------------- 导入排版规则信息 success... ----------------//"); | ||
| 87 | + } catch (Exception exp) { | ||
| 88 | + LOGGER.info("//---------------- 导入排版规则信息 failed... ----------------//"); | ||
| 89 | + | ||
| 90 | + StringWriter sw = new StringWriter(); | ||
| 91 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 92 | + LOGGER.info(sw.toString()); | ||
| 93 | + | ||
| 94 | + throw new ScheduleException(exp.getMessage()); | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + @Override | ||
| 99 | + public File exportData(Map<String, Object> params) throws ScheduleException { | ||
| 100 | + try { | ||
| 101 | + LOGGER.info("//---------------- 导出排版规则信息 start... ----------------//"); | ||
| 102 | + // 创建ktr转换所需参数 | ||
| 103 | + Map<String, Object> ktrParms = new HashMap<>(); | ||
| 104 | + File ktrFile = new File(this.getClass().getResource( | ||
| 105 | + dataToolsProperties.getScheduleruleOutput()).toURI()); | ||
| 106 | + | ||
| 107 | + // 通用参数,转换文件路径,excel输出文件名 | ||
| 108 | + ktrParms.put("transpath", ktrFile.getAbsolutePath()); | ||
| 109 | + ktrParms.put("filename", "排版规则信息_download-"); | ||
| 110 | + | ||
| 111 | + ktrParms.putAll(params); | ||
| 112 | + | ||
| 113 | + File file = dataToolsService.exportData(ktrParms); | ||
| 114 | + | ||
| 115 | + LOGGER.info("//---------------- 导出排版规则信息 success... ----------------//"); | ||
| 116 | + | ||
| 117 | + return file; | ||
| 118 | + | ||
| 119 | + } catch (Exception exp) { | ||
| 120 | + LOGGER.info("//---------------- 导出排版规则信息 failed... ----------------//"); | ||
| 121 | + | ||
| 122 | + StringWriter sw = new StringWriter(); | ||
| 123 | + exp.printStackTrace(new PrintWriter(sw)); | ||
| 124 | + LOGGER.info(sw.toString()); | ||
| 125 | + | ||
| 126 | + throw new ScheduleException(exp.getMessage()); | ||
| 127 | + } | ||
| 128 | + } | ||
| 129 | +} |
src/main/java/com/bsth/service/schedule/datatools/TTInfoDetailForEdit.java
| @@ -165,3 +165,4 @@ public interface TTInfoDetailForEdit { | @@ -165,3 +165,4 @@ public interface TTInfoDetailForEdit { | ||
| 165 | EditInfo getEditInfo(Integer xlid, Long ttid, Long maxfcno) throws ScheduleException; | 165 | EditInfo getEditInfo(Integer xlid, Long ttid, Long maxfcno) throws ScheduleException; |
| 166 | 166 | ||
| 167 | } | 167 | } |
| 168 | + |
src/main/java/com/bsth/websocket/handler/RealControlSocketHandler.java
| @@ -133,13 +133,14 @@ public class RealControlSocketHandler implements WebSocketHandler { | @@ -133,13 +133,14 @@ public class RealControlSocketHandler implements WebSocketHandler { | ||
| 133 | WebSocketSession user; | 133 | WebSocketSession user; |
| 134 | while(iterator.hasNext()){ | 134 | while(iterator.hasNext()){ |
| 135 | user = iterator.next(); | 135 | user = iterator.next(); |
| 136 | - try { | 136 | + WebSocketPushQueue.put(user, message); |
| 137 | + /*try { | ||
| 137 | if (user.isOpen()) { | 138 | if (user.isOpen()) { |
| 138 | user.sendMessage(message); | 139 | user.sendMessage(message); |
| 139 | } | 140 | } |
| 140 | } catch (Exception e) { | 141 | } catch (Exception e) { |
| 141 | logger.error("sendMessage error ...."+msg); | 142 | logger.error("sendMessage error ...."+msg); |
| 142 | - } | 143 | + }*/ |
| 143 | } | 144 | } |
| 144 | } | 145 | } |
| 145 | } | 146 | } |
src/main/resources/datatools/ktrs/carsDataInput.ktr
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<transformation> | ||
| 3 | - <info> | ||
| 4 | - <name>车辆信息导入</name> | ||
| 5 | - <description>车辆信息导入</description> | ||
| 6 | - <extended_description>车辆基础信息</extended_description> | ||
| 7 | - <trans_version/> | ||
| 8 | - <trans_type>Normal</trans_type> | ||
| 9 | - <trans_status>0</trans_status> | ||
| 10 | - <directory>/</directory> | ||
| 11 | - <parameters> | ||
| 12 | - <parameter> | ||
| 13 | - <name>erroroutputdir</name> | ||
| 14 | - <default_value/> | ||
| 15 | - <description>ktr step配置的错误输出目录</description> | ||
| 16 | - </parameter> | ||
| 17 | - <parameter> | ||
| 18 | - <name>filepath</name> | ||
| 19 | - <default_value/> | ||
| 20 | - <description>待处理导入的excel文件</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/06/23 17:44:46.781</created_date> | ||
| 81 | - <modified_user>-</modified_user> | ||
| 82 | - <modified_date>2016/06/23 17:44:46.781</modified_date> | ||
| 83 | - <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | ||
| 84 | - <is_key_private>N</is_key_private> | ||
| 85 | - </info> | ||
| 86 | - <notepads> | ||
| 87 | - </notepads> | ||
| 88 | - <connection> | ||
| 89 | - <name>192.168.168.1_jwgl_dw</name> | ||
| 90 | - <server>192.168.168.1</server> | ||
| 91 | - <type>ORACLE</type> | ||
| 92 | - <access>Native</access> | ||
| 93 | - <database>orcl</database> | ||
| 94 | - <port>1521</port> | ||
| 95 | - <username>jwgl_dw</username> | ||
| 96 | - <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | ||
| 97 | - <servername/> | ||
| 98 | - <data_tablespace/> | ||
| 99 | - <index_tablespace/> | ||
| 100 | - <attributes> | ||
| 101 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 102 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 103 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 104 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 105 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 106 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 107 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 108 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 109 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 110 | - </attributes> | ||
| 111 | - </connection> | ||
| 112 | - <connection> | ||
| 113 | - <name>bus_control_variable</name> | ||
| 114 | - <server>${v_db_ip}</server> | ||
| 115 | - <type>MYSQL</type> | ||
| 116 | - <access>Native</access> | ||
| 117 | - <database>${v_db_dname}</database> | ||
| 118 | - <port>3306</port> | ||
| 119 | - <username>${v_db_uname}</username> | ||
| 120 | - <password>${v_db_pwd}</password> | ||
| 121 | - <servername/> | ||
| 122 | - <data_tablespace/> | ||
| 123 | - <index_tablespace/> | ||
| 124 | - <attributes> | ||
| 125 | - <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | ||
| 126 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 127 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 128 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 129 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 130 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 131 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 132 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 133 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 134 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 135 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 136 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 137 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 138 | - </attributes> | ||
| 139 | - </connection> | ||
| 140 | - <connection> | ||
| 141 | - <name>bus_control_公司_201</name> | ||
| 142 | - <server>localhost</server> | ||
| 143 | - <type>MYSQL</type> | ||
| 144 | - <access>Native</access> | ||
| 145 | - <database>control</database> | ||
| 146 | - <port>3306</port> | ||
| 147 | - <username>root</username> | ||
| 148 | - <password>Encrypted </password> | ||
| 149 | - <servername/> | ||
| 150 | - <data_tablespace/> | ||
| 151 | - <index_tablespace/> | ||
| 152 | - <attributes> | ||
| 153 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 154 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 155 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 156 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 157 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 158 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 159 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 160 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 161 | - <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 162 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 163 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 164 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 165 | - </attributes> | ||
| 166 | - </connection> | ||
| 167 | - <connection> | ||
| 168 | - <name>bus_control_本机</name> | ||
| 169 | - <server>localhost</server> | ||
| 170 | - <type>MYSQL</type> | ||
| 171 | - <access>Native</access> | ||
| 172 | - <database>control</database> | ||
| 173 | - <port>3306</port> | ||
| 174 | - <username>root</username> | ||
| 175 | - <password>Encrypted </password> | ||
| 176 | - <servername/> | ||
| 177 | - <data_tablespace/> | ||
| 178 | - <index_tablespace/> | ||
| 179 | - <attributes> | ||
| 180 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 181 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 182 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 183 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 184 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 185 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 186 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 187 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 188 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 189 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 190 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 191 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 192 | - </attributes> | ||
| 193 | - </connection> | ||
| 194 | - <connection> | ||
| 195 | - <name>xlab_mysql_youle</name> | ||
| 196 | - <server>101.231.124.8</server> | ||
| 197 | - <type>MYSQL</type> | ||
| 198 | - <access>Native</access> | ||
| 199 | - <database>xlab_youle</database> | ||
| 200 | - <port>45687</port> | ||
| 201 | - <username>xlab-youle</username> | ||
| 202 | - <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 203 | - <servername/> | ||
| 204 | - <data_tablespace/> | ||
| 205 | - <index_tablespace/> | ||
| 206 | - <attributes> | ||
| 207 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 208 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 209 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 210 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 211 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 212 | - <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 213 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 214 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 215 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 216 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 217 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 218 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 219 | - </attributes> | ||
| 220 | - </connection> | ||
| 221 | - <connection> | ||
| 222 | - <name>xlab_mysql_youle(本机)</name> | ||
| 223 | - <server>localhost</server> | ||
| 224 | - <type>MYSQL</type> | ||
| 225 | - <access>Native</access> | ||
| 226 | - <database>xlab_youle</database> | ||
| 227 | - <port>3306</port> | ||
| 228 | - <username>root</username> | ||
| 229 | - <password>Encrypted </password> | ||
| 230 | - <servername/> | ||
| 231 | - <data_tablespace/> | ||
| 232 | - <index_tablespace/> | ||
| 233 | - <attributes> | ||
| 234 | - <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 235 | - <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 236 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 237 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 238 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 239 | - <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 240 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 241 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 242 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 243 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 244 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 245 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 246 | - </attributes> | ||
| 247 | - </connection> | ||
| 248 | - <connection> | ||
| 249 | - <name>xlab_youle</name> | ||
| 250 | - <server/> | ||
| 251 | - <type>MYSQL</type> | ||
| 252 | - <access>JNDI</access> | ||
| 253 | - <database>xlab_youle</database> | ||
| 254 | - <port>1521</port> | ||
| 255 | - <username/> | ||
| 256 | - <password>Encrypted </password> | ||
| 257 | - <servername/> | ||
| 258 | - <data_tablespace/> | ||
| 259 | - <index_tablespace/> | ||
| 260 | - <attributes> | ||
| 261 | - <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 262 | - <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 263 | - <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 264 | - <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 265 | - <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 266 | - <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 267 | - <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 268 | - <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 269 | - <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 270 | - <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 271 | - </attributes> | ||
| 272 | - </connection> | ||
| 273 | - <order> | ||
| 274 | - <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 275 | - <hop> <from>插入/更新bsth_c_cars 2</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | ||
| 276 | - <hop> <from>原始系统导出的Excel输入</from><to>插入/更新bsth_c_cars 2</to><enabled>Y</enabled> </hop> | ||
| 277 | - </order> | ||
| 278 | - <step> | ||
| 279 | - <name>原始系统导出的Excel输入</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>获取变量</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>车牌号</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>车辆编码</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/> | ||
| 332 | - <currency/> | ||
| 333 | - <decimal/> | ||
| 334 | - <group/> | ||
| 335 | - </field> | ||
| 336 | - <field> | ||
| 337 | - <name>内部编码</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/> | ||
| 344 | - <currency/> | ||
| 345 | - <decimal/> | ||
| 346 | - <group/> | ||
| 347 | - </field> | ||
| 348 | - <field> | ||
| 349 | - <name>所属公司</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 | - <field> | ||
| 361 | - <name>所属公司代码</name> | ||
| 362 | - <type>String</type> | ||
| 363 | - <length>-1</length> | ||
| 364 | - <precision>-1</precision> | ||
| 365 | - <trim_type>none</trim_type> | ||
| 366 | - <repeat>N</repeat> | ||
| 367 | - <format/> | ||
| 368 | - <currency/> | ||
| 369 | - <decimal/> | ||
| 370 | - <group/> | ||
| 371 | - </field> | ||
| 372 | - <field> | ||
| 373 | - <name>所属分公司</name> | ||
| 374 | - <type>String</type> | ||
| 375 | - <length>-1</length> | ||
| 376 | - <precision>-1</precision> | ||
| 377 | - <trim_type>none</trim_type> | ||
| 378 | - <repeat>N</repeat> | ||
| 379 | - <format/> | ||
| 380 | - <currency/> | ||
| 381 | - <decimal/> | ||
| 382 | - <group/> | ||
| 383 | - </field> | ||
| 384 | - <field> | ||
| 385 | - <name>所属分公司代码</name> | ||
| 386 | - <type>String</type> | ||
| 387 | - <length>-1</length> | ||
| 388 | - <precision>-1</precision> | ||
| 389 | - <trim_type>none</trim_type> | ||
| 390 | - <repeat>N</repeat> | ||
| 391 | - <format/> | ||
| 392 | - <currency/> | ||
| 393 | - <decimal/> | ||
| 394 | - <group/> | ||
| 395 | - </field> | ||
| 396 | - <field> | ||
| 397 | - <name>设备供应厂商</name> | ||
| 398 | - <type>String</type> | ||
| 399 | - <length>-1</length> | ||
| 400 | - <precision>-1</precision> | ||
| 401 | - <trim_type>none</trim_type> | ||
| 402 | - <repeat>N</repeat> | ||
| 403 | - <format/> | ||
| 404 | - <currency/> | ||
| 405 | - <decimal/> | ||
| 406 | - <group/> | ||
| 407 | - </field> | ||
| 408 | - <field> | ||
| 409 | - <name>设备终端号</name> | ||
| 410 | - <type>String</type> | ||
| 411 | - <length>-1</length> | ||
| 412 | - <precision>-1</precision> | ||
| 413 | - <trim_type>none</trim_type> | ||
| 414 | - <repeat>N</repeat> | ||
| 415 | - <format/> | ||
| 416 | - <currency/> | ||
| 417 | - <decimal/> | ||
| 418 | - <group/> | ||
| 419 | - </field> | ||
| 420 | - </fields> | ||
| 421 | - <sheets> | ||
| 422 | - <sheet> | ||
| 423 | - <name>工作表1</name> | ||
| 424 | - <startrow>0</startrow> | ||
| 425 | - <startcol>0</startcol> | ||
| 426 | - </sheet> | ||
| 427 | - </sheets> | ||
| 428 | - <strict_types>N</strict_types> | ||
| 429 | - <error_ignored>N</error_ignored> | ||
| 430 | - <error_line_skipped>N</error_line_skipped> | ||
| 431 | - <bad_line_files_destination_directory/> | ||
| 432 | - <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 433 | - <error_line_files_destination_directory/> | ||
| 434 | - <error_line_files_extension>error</error_line_files_extension> | ||
| 435 | - <line_number_files_destination_directory/> | ||
| 436 | - <line_number_files_extension>line</line_number_files_extension> | ||
| 437 | - <shortFileFieldName/> | ||
| 438 | - <pathFieldName/> | ||
| 439 | - <hiddenFieldName/> | ||
| 440 | - <lastModificationTimeFieldName/> | ||
| 441 | - <uriNameFieldName/> | ||
| 442 | - <rootUriNameFieldName/> | ||
| 443 | - <extensionFieldName/> | ||
| 444 | - <sizeFieldName/> | ||
| 445 | - <spreadsheet_type>JXL</spreadsheet_type> | ||
| 446 | - <cluster_schema/> | ||
| 447 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 448 | - <xloc>131</xloc> | ||
| 449 | - <yloc>58</yloc> | ||
| 450 | - <draw>Y</draw> | ||
| 451 | - </GUI> | ||
| 452 | - </step> | ||
| 453 | - | ||
| 454 | - <step> | ||
| 455 | - <name>插入/更新bsth_c_cars 2</name> | ||
| 456 | - <type>InsertUpdate</type> | ||
| 457 | - <description/> | ||
| 458 | - <distribute>Y</distribute> | ||
| 459 | - <custom_distribution/> | ||
| 460 | - <copies>1</copies> | ||
| 461 | - <partitioning> | ||
| 462 | - <method>none</method> | ||
| 463 | - <schema_name/> | ||
| 464 | - </partitioning> | ||
| 465 | - <connection>bus_control_variable</connection> | ||
| 466 | - <commit>1000</commit> | ||
| 467 | - <update_bypassed>N</update_bypassed> | ||
| 468 | - <lookup> | ||
| 469 | - <schema/> | ||
| 470 | - <table>bsth_c_cars</table> | ||
| 471 | - <key> | ||
| 472 | - <name>内部编码</name> | ||
| 473 | - <field>inside_code</field> | ||
| 474 | - <condition>=</condition> | ||
| 475 | - <name2/> | ||
| 476 | - </key> | ||
| 477 | - <value> | ||
| 478 | - <name>car_plate</name> | ||
| 479 | - <rename>车牌号</rename> | ||
| 480 | - <update>Y</update> | ||
| 481 | - </value> | ||
| 482 | - <value> | ||
| 483 | - <name>car_code</name> | ||
| 484 | - <rename>车辆编码</rename> | ||
| 485 | - <update>Y</update> | ||
| 486 | - </value> | ||
| 487 | - <value> | ||
| 488 | - <name>inside_code</name> | ||
| 489 | - <rename>内部编码</rename> | ||
| 490 | - <update>Y</update> | ||
| 491 | - </value> | ||
| 492 | - <value> | ||
| 493 | - <name>company</name> | ||
| 494 | - <rename>所属公司</rename> | ||
| 495 | - <update>Y</update> | ||
| 496 | - </value> | ||
| 497 | - <value> | ||
| 498 | - <name>business_code</name> | ||
| 499 | - <rename>所属公司代码</rename> | ||
| 500 | - <update>Y</update> | ||
| 501 | - </value> | ||
| 502 | - <value> | ||
| 503 | - <name>branche_company</name> | ||
| 504 | - <rename>所属分公司</rename> | ||
| 505 | - <update>Y</update> | ||
| 506 | - </value> | ||
| 507 | - <value> | ||
| 508 | - <name>branche_company_code</name> | ||
| 509 | - <rename>所属分公司代码</rename> | ||
| 510 | - <update>Y</update> | ||
| 511 | - </value> | ||
| 512 | - <value> | ||
| 513 | - <name>supplier_name</name> | ||
| 514 | - <rename>设备供应厂商</rename> | ||
| 515 | - <update>Y</update> | ||
| 516 | - </value> | ||
| 517 | - <value> | ||
| 518 | - <name>equipment_code</name> | ||
| 519 | - <rename>设备终端号</rename> | ||
| 520 | - <update>Y</update> | ||
| 521 | - </value> | ||
| 522 | - </lookup> | ||
| 523 | - <cluster_schema/> | ||
| 524 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 525 | - <xloc>516</xloc> | ||
| 526 | - <yloc>138</yloc> | ||
| 527 | - <draw>Y</draw> | ||
| 528 | - </GUI> | ||
| 529 | - </step> | ||
| 530 | - | ||
| 531 | - <step> | ||
| 532 | - <name>获取变量</name> | ||
| 533 | - <type>GetVariable</type> | ||
| 534 | - <description/> | ||
| 535 | - <distribute>Y</distribute> | ||
| 536 | - <custom_distribution/> | ||
| 537 | - <copies>1</copies> | ||
| 538 | - <partitioning> | ||
| 539 | - <method>none</method> | ||
| 540 | - <schema_name/> | ||
| 541 | - </partitioning> | ||
| 542 | - <fields> | ||
| 543 | - <field> | ||
| 544 | - <name>filepath_</name> | ||
| 545 | - <variable>${filepath}</variable> | ||
| 546 | - <type>String</type> | ||
| 547 | - <format/> | ||
| 548 | - <currency/> | ||
| 549 | - <decimal/> | ||
| 550 | - <group/> | ||
| 551 | - <length>-1</length> | ||
| 552 | - <precision>-1</precision> | ||
| 553 | - <trim_type>none</trim_type> | ||
| 554 | - </field> | ||
| 555 | - <field> | ||
| 556 | - <name>erroroutputdir_</name> | ||
| 557 | - <variable>${erroroutputdir}</variable> | ||
| 558 | - <type>String</type> | ||
| 559 | - <format/> | ||
| 560 | - <currency/> | ||
| 561 | - <decimal/> | ||
| 562 | - <group/> | ||
| 563 | - <length>-1</length> | ||
| 564 | - <precision>-1</precision> | ||
| 565 | - <trim_type>none</trim_type> | ||
| 566 | - </field> | ||
| 567 | - </fields> | ||
| 568 | - <cluster_schema/> | ||
| 569 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 570 | - <xloc>134</xloc> | ||
| 571 | - <yloc>183</yloc> | ||
| 572 | - <draw>Y</draw> | ||
| 573 | - </GUI> | ||
| 574 | - </step> | ||
| 575 | - | ||
| 576 | - <step> | ||
| 577 | - <name>错误输出 2</name> | ||
| 578 | - <type>ExcelOutput</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 | - <header>Y</header> | ||
| 588 | - <footer>N</footer> | ||
| 589 | - <encoding/> | ||
| 590 | - <append>N</append> | ||
| 591 | - <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 592 | - <file> | ||
| 593 | - <name>${erroroutputdir}/车辆基础信息_错误</name> | ||
| 594 | - <extention>xls</extention> | ||
| 595 | - <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 596 | - <create_parent_folder>N</create_parent_folder> | ||
| 597 | - <split>N</split> | ||
| 598 | - <add_date>N</add_date> | ||
| 599 | - <add_time>N</add_time> | ||
| 600 | - <SpecifyFormat>N</SpecifyFormat> | ||
| 601 | - <date_time_format/> | ||
| 602 | - <sheetname>Sheet1</sheetname> | ||
| 603 | - <autosizecolums>N</autosizecolums> | ||
| 604 | - <nullisblank>N</nullisblank> | ||
| 605 | - <protect_sheet>N</protect_sheet> | ||
| 606 | - <password>Encrypted </password> | ||
| 607 | - <splitevery>0</splitevery> | ||
| 608 | - <usetempfiles>N</usetempfiles> | ||
| 609 | - <tempdirectory/> | ||
| 610 | - </file> | ||
| 611 | - <template> | ||
| 612 | - <enabled>N</enabled> | ||
| 613 | - <append>N</append> | ||
| 614 | - <filename>template.xls</filename> | ||
| 615 | - </template> | ||
| 616 | - <fields> | ||
| 617 | - <field> | ||
| 618 | - <name>车牌号</name> | ||
| 619 | - <type>String</type> | ||
| 620 | - <format/> | ||
| 621 | - </field> | ||
| 622 | - <field> | ||
| 623 | - <name>内部编码</name> | ||
| 624 | - <type>String</type> | ||
| 625 | - <format/> | ||
| 626 | - </field> | ||
| 627 | - <field> | ||
| 628 | - <name>所属公司</name> | ||
| 629 | - <type>String</type> | ||
| 630 | - <format/> | ||
| 631 | - </field> | ||
| 632 | - <field> | ||
| 633 | - <name>所属公司代码</name> | ||
| 634 | - <type>String</type> | ||
| 635 | - <format/> | ||
| 636 | - </field> | ||
| 637 | - <field> | ||
| 638 | - <name>所属分公司</name> | ||
| 639 | - <type>String</type> | ||
| 640 | - <format/> | ||
| 641 | - </field> | ||
| 642 | - <field> | ||
| 643 | - <name>所属分公司代码</name> | ||
| 644 | - <type>String</type> | ||
| 645 | - <format/> | ||
| 646 | - </field> | ||
| 647 | - <field> | ||
| 648 | - <name>设备供应厂商</name> | ||
| 649 | - <type>String</type> | ||
| 650 | - <format/> | ||
| 651 | - </field> | ||
| 652 | - <field> | ||
| 653 | - <name>设备终端号</name> | ||
| 654 | - <type>String</type> | ||
| 655 | - <format/> | ||
| 656 | - </field> | ||
| 657 | - <field> | ||
| 658 | - <name>error_count</name> | ||
| 659 | - <type>Integer</type> | ||
| 660 | - <format/> | ||
| 661 | - </field> | ||
| 662 | - <field> | ||
| 663 | - <name>error_desc</name> | ||
| 664 | - <type>String</type> | ||
| 665 | - <format/> | ||
| 666 | - </field> | ||
| 667 | - <field> | ||
| 668 | - <name>error_column1</name> | ||
| 669 | - <type>String</type> | ||
| 670 | - <format/> | ||
| 671 | - </field> | ||
| 672 | - <field> | ||
| 673 | - <name>error_column2</name> | ||
| 674 | - <type>String</type> | ||
| 675 | - <format/> | ||
| 676 | - </field> | ||
| 677 | - </fields> | ||
| 678 | - <custom> | ||
| 679 | - <header_font_name>arial</header_font_name> | ||
| 680 | - <header_font_size>10</header_font_size> | ||
| 681 | - <header_font_bold>N</header_font_bold> | ||
| 682 | - <header_font_italic>N</header_font_italic> | ||
| 683 | - <header_font_underline>no</header_font_underline> | ||
| 684 | - <header_font_orientation>horizontal</header_font_orientation> | ||
| 685 | - <header_font_color>black</header_font_color> | ||
| 686 | - <header_background_color>none</header_background_color> | ||
| 687 | - <header_row_height>255</header_row_height> | ||
| 688 | - <header_alignment>left</header_alignment> | ||
| 689 | - <header_image/> | ||
| 690 | - <row_font_name>arial</row_font_name> | ||
| 691 | - <row_font_size>10</row_font_size> | ||
| 692 | - <row_font_color>black</row_font_color> | ||
| 693 | - <row_background_color>none</row_background_color> | ||
| 694 | - </custom> | ||
| 695 | - <cluster_schema/> | ||
| 696 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 697 | - <xloc>328</xloc> | ||
| 698 | - <yloc>140</yloc> | ||
| 699 | - <draw>Y</draw> | ||
| 700 | - </GUI> | ||
| 701 | - </step> | ||
| 702 | - | ||
| 703 | - <step_error_handling> | ||
| 704 | - <error> | ||
| 705 | - <source_step>插入/更新bsth_c_cars 2</source_step> | ||
| 706 | - <target_step>错误输出 2</target_step> | ||
| 707 | - <is_enabled>Y</is_enabled> | ||
| 708 | - <nr_valuename>error_count</nr_valuename> | ||
| 709 | - <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 710 | - <fields_valuename>error_column1</fields_valuename> | ||
| 711 | - <codes_valuename>error_column2</codes_valuename> | ||
| 712 | - <max_errors/> | ||
| 713 | - <max_pct_errors/> | ||
| 714 | - <min_pct_rows/> | ||
| 715 | - </error> | ||
| 716 | - </step_error_handling> | ||
| 717 | - <slave-step-copy-partition-distribution> | ||
| 718 | -</slave-step-copy-partition-distribution> | ||
| 719 | - <slave_transformation>N</slave_transformation> | ||
| 720 | - | ||
| 721 | -</transformation> | 1 | +<?xml version="1.0" encoding="UTF-8"?> |
| 2 | +<transformation> | ||
| 3 | + <info> | ||
| 4 | + <name>车辆信息导入</name> | ||
| 5 | + <description>车辆信息导入</description> | ||
| 6 | + <extended_description>车辆基础信息</extended_description> | ||
| 7 | + <trans_version/> | ||
| 8 | + <trans_type>Normal</trans_type> | ||
| 9 | + <trans_status>0</trans_status> | ||
| 10 | + <directory>/</directory> | ||
| 11 | + <parameters> | ||
| 12 | + <parameter> | ||
| 13 | + <name>erroroutputdir</name> | ||
| 14 | + <default_value/> | ||
| 15 | + <description>ktr step配置的错误输出目录</description> | ||
| 16 | + </parameter> | ||
| 17 | + <parameter> | ||
| 18 | + <name>filepath</name> | ||
| 19 | + <default_value/> | ||
| 20 | + <description>待处理导入的excel文件</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/06/23 17:44:46.781</created_date> | ||
| 81 | + <modified_user>-</modified_user> | ||
| 82 | + <modified_date>2016/06/23 17:44:46.781</modified_date> | ||
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | ||
| 84 | + <is_key_private>N</is_key_private> | ||
| 85 | + </info> | ||
| 86 | + <notepads> | ||
| 87 | + </notepads> | ||
| 88 | + <connection> | ||
| 89 | + <name>192.168.168.1_jwgl_dw</name> | ||
| 90 | + <server>192.168.168.1</server> | ||
| 91 | + <type>ORACLE</type> | ||
| 92 | + <access>Native</access> | ||
| 93 | + <database>orcl</database> | ||
| 94 | + <port>1521</port> | ||
| 95 | + <username>jwgl_dw</username> | ||
| 96 | + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | ||
| 97 | + <servername/> | ||
| 98 | + <data_tablespace/> | ||
| 99 | + <index_tablespace/> | ||
| 100 | + <attributes> | ||
| 101 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 102 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 103 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 104 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 105 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 106 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 107 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 108 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 109 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 110 | + </attributes> | ||
| 111 | + </connection> | ||
| 112 | + <connection> | ||
| 113 | + <name>bus_control_variable</name> | ||
| 114 | + <server>${v_db_ip}</server> | ||
| 115 | + <type>MYSQL</type> | ||
| 116 | + <access>Native</access> | ||
| 117 | + <database>${v_db_dname}</database> | ||
| 118 | + <port>3306</port> | ||
| 119 | + <username>${v_db_uname}</username> | ||
| 120 | + <password>${v_db_pwd}</password> | ||
| 121 | + <servername/> | ||
| 122 | + <data_tablespace/> | ||
| 123 | + <index_tablespace/> | ||
| 124 | + <attributes> | ||
| 125 | + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | ||
| 126 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 127 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 128 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 129 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 130 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 131 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 132 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 133 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 134 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 135 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 136 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 137 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 138 | + </attributes> | ||
| 139 | + </connection> | ||
| 140 | + <connection> | ||
| 141 | + <name>bus_control_公司_201</name> | ||
| 142 | + <server>localhost</server> | ||
| 143 | + <type>MYSQL</type> | ||
| 144 | + <access>Native</access> | ||
| 145 | + <database>control</database> | ||
| 146 | + <port>3306</port> | ||
| 147 | + <username>root</username> | ||
| 148 | + <password>Encrypted </password> | ||
| 149 | + <servername/> | ||
| 150 | + <data_tablespace/> | ||
| 151 | + <index_tablespace/> | ||
| 152 | + <attributes> | ||
| 153 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 154 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 155 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 156 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 157 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 158 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 159 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 160 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 161 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 162 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 163 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 164 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 165 | + </attributes> | ||
| 166 | + </connection> | ||
| 167 | + <connection> | ||
| 168 | + <name>bus_control_本机</name> | ||
| 169 | + <server>localhost</server> | ||
| 170 | + <type>MYSQL</type> | ||
| 171 | + <access>Native</access> | ||
| 172 | + <database>control</database> | ||
| 173 | + <port>3306</port> | ||
| 174 | + <username>root</username> | ||
| 175 | + <password>Encrypted </password> | ||
| 176 | + <servername/> | ||
| 177 | + <data_tablespace/> | ||
| 178 | + <index_tablespace/> | ||
| 179 | + <attributes> | ||
| 180 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 181 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 182 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 183 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 184 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 185 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 186 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 187 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 188 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 189 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 190 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 191 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 192 | + </attributes> | ||
| 193 | + </connection> | ||
| 194 | + <connection> | ||
| 195 | + <name>xlab_mysql_youle</name> | ||
| 196 | + <server>101.231.124.8</server> | ||
| 197 | + <type>MYSQL</type> | ||
| 198 | + <access>Native</access> | ||
| 199 | + <database>xlab_youle</database> | ||
| 200 | + <port>45687</port> | ||
| 201 | + <username>xlab-youle</username> | ||
| 202 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 203 | + <servername/> | ||
| 204 | + <data_tablespace/> | ||
| 205 | + <index_tablespace/> | ||
| 206 | + <attributes> | ||
| 207 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 208 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 209 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 210 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 211 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 212 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 213 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 214 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 215 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 216 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 217 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 218 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 219 | + </attributes> | ||
| 220 | + </connection> | ||
| 221 | + <connection> | ||
| 222 | + <name>xlab_mysql_youle(本机)</name> | ||
| 223 | + <server>localhost</server> | ||
| 224 | + <type>MYSQL</type> | ||
| 225 | + <access>Native</access> | ||
| 226 | + <database>xlab_youle</database> | ||
| 227 | + <port>3306</port> | ||
| 228 | + <username>root</username> | ||
| 229 | + <password>Encrypted </password> | ||
| 230 | + <servername/> | ||
| 231 | + <data_tablespace/> | ||
| 232 | + <index_tablespace/> | ||
| 233 | + <attributes> | ||
| 234 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 235 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 236 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 237 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 238 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 239 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 240 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 241 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 242 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 243 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 244 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 245 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 246 | + </attributes> | ||
| 247 | + </connection> | ||
| 248 | + <connection> | ||
| 249 | + <name>xlab_youle</name> | ||
| 250 | + <server/> | ||
| 251 | + <type>MYSQL</type> | ||
| 252 | + <access>JNDI</access> | ||
| 253 | + <database>xlab_youle</database> | ||
| 254 | + <port>1521</port> | ||
| 255 | + <username/> | ||
| 256 | + <password>Encrypted </password> | ||
| 257 | + <servername/> | ||
| 258 | + <data_tablespace/> | ||
| 259 | + <index_tablespace/> | ||
| 260 | + <attributes> | ||
| 261 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 262 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 263 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 264 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 265 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 266 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 267 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 268 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 269 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 270 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 271 | + </attributes> | ||
| 272 | + </connection> | ||
| 273 | + <order> | ||
| 274 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 275 | + <hop> <from>插入/更新bsth_c_cars 2</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | ||
| 276 | + <hop> <from>原始系统导出的Excel输入</from><to>插入/更新bsth_c_cars 2</to><enabled>Y</enabled> </hop> | ||
| 277 | + </order> | ||
| 278 | + <step> | ||
| 279 | + <name>原始系统导出的Excel输入</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>获取变量</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>车牌号</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>车辆编码</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/> | ||
| 332 | + <currency/> | ||
| 333 | + <decimal/> | ||
| 334 | + <group/> | ||
| 335 | + </field> | ||
| 336 | + <field> | ||
| 337 | + <name>内部编码</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/> | ||
| 344 | + <currency/> | ||
| 345 | + <decimal/> | ||
| 346 | + <group/> | ||
| 347 | + </field> | ||
| 348 | + <field> | ||
| 349 | + <name>所属公司</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 | + <field> | ||
| 361 | + <name>所属公司代码</name> | ||
| 362 | + <type>String</type> | ||
| 363 | + <length>-1</length> | ||
| 364 | + <precision>-1</precision> | ||
| 365 | + <trim_type>none</trim_type> | ||
| 366 | + <repeat>N</repeat> | ||
| 367 | + <format/> | ||
| 368 | + <currency/> | ||
| 369 | + <decimal/> | ||
| 370 | + <group/> | ||
| 371 | + </field> | ||
| 372 | + <field> | ||
| 373 | + <name>所属分公司</name> | ||
| 374 | + <type>String</type> | ||
| 375 | + <length>-1</length> | ||
| 376 | + <precision>-1</precision> | ||
| 377 | + <trim_type>none</trim_type> | ||
| 378 | + <repeat>N</repeat> | ||
| 379 | + <format/> | ||
| 380 | + <currency/> | ||
| 381 | + <decimal/> | ||
| 382 | + <group/> | ||
| 383 | + </field> | ||
| 384 | + <field> | ||
| 385 | + <name>所属分公司代码</name> | ||
| 386 | + <type>String</type> | ||
| 387 | + <length>-1</length> | ||
| 388 | + <precision>-1</precision> | ||
| 389 | + <trim_type>none</trim_type> | ||
| 390 | + <repeat>N</repeat> | ||
| 391 | + <format/> | ||
| 392 | + <currency/> | ||
| 393 | + <decimal/> | ||
| 394 | + <group/> | ||
| 395 | + </field> | ||
| 396 | + <field> | ||
| 397 | + <name>设备供应厂商</name> | ||
| 398 | + <type>String</type> | ||
| 399 | + <length>-1</length> | ||
| 400 | + <precision>-1</precision> | ||
| 401 | + <trim_type>none</trim_type> | ||
| 402 | + <repeat>N</repeat> | ||
| 403 | + <format/> | ||
| 404 | + <currency/> | ||
| 405 | + <decimal/> | ||
| 406 | + <group/> | ||
| 407 | + </field> | ||
| 408 | + <field> | ||
| 409 | + <name>设备终端号</name> | ||
| 410 | + <type>String</type> | ||
| 411 | + <length>-1</length> | ||
| 412 | + <precision>-1</precision> | ||
| 413 | + <trim_type>none</trim_type> | ||
| 414 | + <repeat>N</repeat> | ||
| 415 | + <format/> | ||
| 416 | + <currency/> | ||
| 417 | + <decimal/> | ||
| 418 | + <group/> | ||
| 419 | + </field> | ||
| 420 | + </fields> | ||
| 421 | + <sheets> | ||
| 422 | + <sheet> | ||
| 423 | + <name>工作表1</name> | ||
| 424 | + <startrow>0</startrow> | ||
| 425 | + <startcol>0</startcol> | ||
| 426 | + </sheet> | ||
| 427 | + </sheets> | ||
| 428 | + <strict_types>N</strict_types> | ||
| 429 | + <error_ignored>N</error_ignored> | ||
| 430 | + <error_line_skipped>N</error_line_skipped> | ||
| 431 | + <bad_line_files_destination_directory/> | ||
| 432 | + <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 433 | + <error_line_files_destination_directory/> | ||
| 434 | + <error_line_files_extension>error</error_line_files_extension> | ||
| 435 | + <line_number_files_destination_directory/> | ||
| 436 | + <line_number_files_extension>line</line_number_files_extension> | ||
| 437 | + <shortFileFieldName/> | ||
| 438 | + <pathFieldName/> | ||
| 439 | + <hiddenFieldName/> | ||
| 440 | + <lastModificationTimeFieldName/> | ||
| 441 | + <uriNameFieldName/> | ||
| 442 | + <rootUriNameFieldName/> | ||
| 443 | + <extensionFieldName/> | ||
| 444 | + <sizeFieldName/> | ||
| 445 | + <spreadsheet_type>JXL</spreadsheet_type> | ||
| 446 | + <cluster_schema/> | ||
| 447 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 448 | + <xloc>131</xloc> | ||
| 449 | + <yloc>58</yloc> | ||
| 450 | + <draw>Y</draw> | ||
| 451 | + </GUI> | ||
| 452 | + </step> | ||
| 453 | + | ||
| 454 | + <step> | ||
| 455 | + <name>插入/更新bsth_c_cars 2</name> | ||
| 456 | + <type>InsertUpdate</type> | ||
| 457 | + <description/> | ||
| 458 | + <distribute>Y</distribute> | ||
| 459 | + <custom_distribution/> | ||
| 460 | + <copies>1</copies> | ||
| 461 | + <partitioning> | ||
| 462 | + <method>none</method> | ||
| 463 | + <schema_name/> | ||
| 464 | + </partitioning> | ||
| 465 | + <connection>bus_control_variable</connection> | ||
| 466 | + <commit>1000</commit> | ||
| 467 | + <update_bypassed>N</update_bypassed> | ||
| 468 | + <lookup> | ||
| 469 | + <schema/> | ||
| 470 | + <table>bsth_c_cars</table> | ||
| 471 | + <key> | ||
| 472 | + <name>内部编码</name> | ||
| 473 | + <field>inside_code</field> | ||
| 474 | + <condition>=</condition> | ||
| 475 | + <name2/> | ||
| 476 | + </key> | ||
| 477 | + <value> | ||
| 478 | + <name>car_plate</name> | ||
| 479 | + <rename>车牌号</rename> | ||
| 480 | + <update>Y</update> | ||
| 481 | + </value> | ||
| 482 | + <value> | ||
| 483 | + <name>car_code</name> | ||
| 484 | + <rename>车辆编码</rename> | ||
| 485 | + <update>Y</update> | ||
| 486 | + </value> | ||
| 487 | + <value> | ||
| 488 | + <name>inside_code</name> | ||
| 489 | + <rename>内部编码</rename> | ||
| 490 | + <update>Y</update> | ||
| 491 | + </value> | ||
| 492 | + <value> | ||
| 493 | + <name>company</name> | ||
| 494 | + <rename>所属公司</rename> | ||
| 495 | + <update>Y</update> | ||
| 496 | + </value> | ||
| 497 | + <value> | ||
| 498 | + <name>business_code</name> | ||
| 499 | + <rename>所属公司代码</rename> | ||
| 500 | + <update>Y</update> | ||
| 501 | + </value> | ||
| 502 | + <value> | ||
| 503 | + <name>branche_company</name> | ||
| 504 | + <rename>所属分公司</rename> | ||
| 505 | + <update>Y</update> | ||
| 506 | + </value> | ||
| 507 | + <value> | ||
| 508 | + <name>branche_company_code</name> | ||
| 509 | + <rename>所属分公司代码</rename> | ||
| 510 | + <update>Y</update> | ||
| 511 | + </value> | ||
| 512 | + <value> | ||
| 513 | + <name>supplier_name</name> | ||
| 514 | + <rename>设备供应厂商</rename> | ||
| 515 | + <update>Y</update> | ||
| 516 | + </value> | ||
| 517 | + <value> | ||
| 518 | + <name>equipment_code</name> | ||
| 519 | + <rename>设备终端号</rename> | ||
| 520 | + <update>Y</update> | ||
| 521 | + </value> | ||
| 522 | + </lookup> | ||
| 523 | + <cluster_schema/> | ||
| 524 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 525 | + <xloc>516</xloc> | ||
| 526 | + <yloc>138</yloc> | ||
| 527 | + <draw>Y</draw> | ||
| 528 | + </GUI> | ||
| 529 | + </step> | ||
| 530 | + | ||
| 531 | + <step> | ||
| 532 | + <name>获取变量</name> | ||
| 533 | + <type>GetVariable</type> | ||
| 534 | + <description/> | ||
| 535 | + <distribute>Y</distribute> | ||
| 536 | + <custom_distribution/> | ||
| 537 | + <copies>1</copies> | ||
| 538 | + <partitioning> | ||
| 539 | + <method>none</method> | ||
| 540 | + <schema_name/> | ||
| 541 | + </partitioning> | ||
| 542 | + <fields> | ||
| 543 | + <field> | ||
| 544 | + <name>filepath_</name> | ||
| 545 | + <variable>${filepath}</variable> | ||
| 546 | + <type>String</type> | ||
| 547 | + <format/> | ||
| 548 | + <currency/> | ||
| 549 | + <decimal/> | ||
| 550 | + <group/> | ||
| 551 | + <length>-1</length> | ||
| 552 | + <precision>-1</precision> | ||
| 553 | + <trim_type>none</trim_type> | ||
| 554 | + </field> | ||
| 555 | + <field> | ||
| 556 | + <name>erroroutputdir_</name> | ||
| 557 | + <variable>${erroroutputdir}</variable> | ||
| 558 | + <type>String</type> | ||
| 559 | + <format/> | ||
| 560 | + <currency/> | ||
| 561 | + <decimal/> | ||
| 562 | + <group/> | ||
| 563 | + <length>-1</length> | ||
| 564 | + <precision>-1</precision> | ||
| 565 | + <trim_type>none</trim_type> | ||
| 566 | + </field> | ||
| 567 | + </fields> | ||
| 568 | + <cluster_schema/> | ||
| 569 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 570 | + <xloc>134</xloc> | ||
| 571 | + <yloc>183</yloc> | ||
| 572 | + <draw>Y</draw> | ||
| 573 | + </GUI> | ||
| 574 | + </step> | ||
| 575 | + | ||
| 576 | + <step> | ||
| 577 | + <name>错误输出 2</name> | ||
| 578 | + <type>ExcelOutput</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 | + <header>Y</header> | ||
| 588 | + <footer>N</footer> | ||
| 589 | + <encoding/> | ||
| 590 | + <append>N</append> | ||
| 591 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 592 | + <file> | ||
| 593 | + <name>${erroroutputdir}/车辆基础信息_错误</name> | ||
| 594 | + <extention>xls</extention> | ||
| 595 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 596 | + <create_parent_folder>N</create_parent_folder> | ||
| 597 | + <split>N</split> | ||
| 598 | + <add_date>N</add_date> | ||
| 599 | + <add_time>N</add_time> | ||
| 600 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 601 | + <date_time_format/> | ||
| 602 | + <sheetname>Sheet1</sheetname> | ||
| 603 | + <autosizecolums>N</autosizecolums> | ||
| 604 | + <nullisblank>N</nullisblank> | ||
| 605 | + <protect_sheet>N</protect_sheet> | ||
| 606 | + <password>Encrypted </password> | ||
| 607 | + <splitevery>0</splitevery> | ||
| 608 | + <usetempfiles>N</usetempfiles> | ||
| 609 | + <tempdirectory/> | ||
| 610 | + </file> | ||
| 611 | + <template> | ||
| 612 | + <enabled>N</enabled> | ||
| 613 | + <append>N</append> | ||
| 614 | + <filename>template.xls</filename> | ||
| 615 | + </template> | ||
| 616 | + <fields> | ||
| 617 | + <field> | ||
| 618 | + <name>车牌号</name> | ||
| 619 | + <type>String</type> | ||
| 620 | + <format/> | ||
| 621 | + </field> | ||
| 622 | + <field> | ||
| 623 | + <name>内部编码</name> | ||
| 624 | + <type>String</type> | ||
| 625 | + <format/> | ||
| 626 | + </field> | ||
| 627 | + <field> | ||
| 628 | + <name>所属公司</name> | ||
| 629 | + <type>String</type> | ||
| 630 | + <format/> | ||
| 631 | + </field> | ||
| 632 | + <field> | ||
| 633 | + <name>所属公司代码</name> | ||
| 634 | + <type>String</type> | ||
| 635 | + <format/> | ||
| 636 | + </field> | ||
| 637 | + <field> | ||
| 638 | + <name>所属分公司</name> | ||
| 639 | + <type>String</type> | ||
| 640 | + <format/> | ||
| 641 | + </field> | ||
| 642 | + <field> | ||
| 643 | + <name>所属分公司代码</name> | ||
| 644 | + <type>String</type> | ||
| 645 | + <format/> | ||
| 646 | + </field> | ||
| 647 | + <field> | ||
| 648 | + <name>设备供应厂商</name> | ||
| 649 | + <type>String</type> | ||
| 650 | + <format/> | ||
| 651 | + </field> | ||
| 652 | + <field> | ||
| 653 | + <name>设备终端号</name> | ||
| 654 | + <type>String</type> | ||
| 655 | + <format/> | ||
| 656 | + </field> | ||
| 657 | + <field> | ||
| 658 | + <name>error_count</name> | ||
| 659 | + <type>Integer</type> | ||
| 660 | + <format/> | ||
| 661 | + </field> | ||
| 662 | + <field> | ||
| 663 | + <name>error_desc</name> | ||
| 664 | + <type>String</type> | ||
| 665 | + <format/> | ||
| 666 | + </field> | ||
| 667 | + <field> | ||
| 668 | + <name>error_column1</name> | ||
| 669 | + <type>String</type> | ||
| 670 | + <format/> | ||
| 671 | + </field> | ||
| 672 | + <field> | ||
| 673 | + <name>error_column2</name> | ||
| 674 | + <type>String</type> | ||
| 675 | + <format/> | ||
| 676 | + </field> | ||
| 677 | + </fields> | ||
| 678 | + <custom> | ||
| 679 | + <header_font_name>arial</header_font_name> | ||
| 680 | + <header_font_size>10</header_font_size> | ||
| 681 | + <header_font_bold>N</header_font_bold> | ||
| 682 | + <header_font_italic>N</header_font_italic> | ||
| 683 | + <header_font_underline>no</header_font_underline> | ||
| 684 | + <header_font_orientation>horizontal</header_font_orientation> | ||
| 685 | + <header_font_color>black</header_font_color> | ||
| 686 | + <header_background_color>none</header_background_color> | ||
| 687 | + <header_row_height>255</header_row_height> | ||
| 688 | + <header_alignment>left</header_alignment> | ||
| 689 | + <header_image/> | ||
| 690 | + <row_font_name>arial</row_font_name> | ||
| 691 | + <row_font_size>10</row_font_size> | ||
| 692 | + <row_font_color>black</row_font_color> | ||
| 693 | + <row_background_color>none</row_background_color> | ||
| 694 | + </custom> | ||
| 695 | + <cluster_schema/> | ||
| 696 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 697 | + <xloc>328</xloc> | ||
| 698 | + <yloc>140</yloc> | ||
| 699 | + <draw>Y</draw> | ||
| 700 | + </GUI> | ||
| 701 | + </step> | ||
| 702 | + | ||
| 703 | + <step_error_handling> | ||
| 704 | + <error> | ||
| 705 | + <source_step>插入/更新bsth_c_cars 2</source_step> | ||
| 706 | + <target_step>错误输出 2</target_step> | ||
| 707 | + <is_enabled>Y</is_enabled> | ||
| 708 | + <nr_valuename>error_count</nr_valuename> | ||
| 709 | + <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 710 | + <fields_valuename>error_column1</fields_valuename> | ||
| 711 | + <codes_valuename>error_column2</codes_valuename> | ||
| 712 | + <max_errors/> | ||
| 713 | + <max_pct_errors/> | ||
| 714 | + <min_pct_rows/> | ||
| 715 | + </error> | ||
| 716 | + </step_error_handling> | ||
| 717 | + <slave-step-copy-partition-distribution> | ||
| 718 | +</slave-step-copy-partition-distribution> | ||
| 719 | + <slave_transformation>N</slave_transformation> | ||
| 720 | + | ||
| 721 | +</transformation> |