Commit 7b74fdebd8ab6003c5166570f321783ad03d62ba

Authored by 娄高锋
1 parent d32580b5

烂班班次,子任务如果有营运里程,视为实际班次。

Too many changes to show.

To preserve performance only 4 of 7 files are displayed.

src/main/java/com/bsth/service/BusIntervalService.java
... ... @@ -2,6 +2,9 @@ package com.bsth.service;
2 2  
3 3 import java.util.List;
4 4 import java.util.Map;
  5 +import java.util.Set;
  6 +
  7 +import com.bsth.entity.realcontrol.ChildTaskPlan;
5 8  
6 9  
7 10 public interface BusIntervalService {
... ... @@ -23,4 +26,6 @@ public interface BusIntervalService {
23 26 Map<String, Object> exportWaybillMore(Map<String, Object> map);
24 27  
25 28 List<Map<String, Object>> onTime(Map<String, Object> map);
  29 +
  30 + Map<Long, Set<ChildTaskPlan>> getChildTaskPlans(Long schedule1, Long schedule2);
26 31 }
... ...
src/main/java/com/bsth/service/calc/impl/CalcCulateMileageServiceImpl.java
1 1 package com.bsth.service.calc.impl;
2 2  
  3 +import java.math.BigDecimal;
3 4 import java.text.DecimalFormat;
4 5 import java.text.ParseException;
5 6 import java.text.SimpleDateFormat;
... ... @@ -159,7 +160,37 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{
159 160 }else{
160 161 sjbc++;
161 162 }
162   -
  163 + } else if(scheduleRealInfo.getStatus()==-1){ //(20231031)烂班班次,子任务如果有营运里程,视为实际班次。
  164 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  165 + if(!childTaskPlans.isEmpty()){
  166 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  167 + boolean b = false;
  168 + while (it.hasNext()) {
  169 + ChildTaskPlan c = it.next();
  170 + if("service".equals(c.getMileageType()) && !c.isDestroy()){
  171 + BigDecimal mileage = new BigDecimal(c.getMileage());
  172 + if(mileage.compareTo(BigDecimal.ZERO) == 1){ //大于0
  173 + b = true;
  174 + }
  175 + }
  176 + if(b){
  177 + break;
  178 + }
  179 + }
  180 + if(b){
  181 + if(item.equals("zgf")){
  182 + if(fcsj>=zgf1 && fcsj<=zgf2){
  183 + sjbc++;
  184 + }
  185 + }else if(item.equals("wgf")){
  186 + if(fcsj>=wgf1 && fcsj<=wgf2){
  187 + sjbc++;
  188 + }
  189 + }else{
  190 + sjbc++;
  191 + }
  192 + }
  193 + }
163 194 }
164 195 }
165 196 }
... ... @@ -569,7 +600,26 @@ public class CalcCulateMileageServiceImpl implements CalcCulateMileageService{
569 600 ScheduleRealInfo scheduleRealInfo=lists.get(i);
570 601 if (!isInOut(scheduleRealInfo) && !scheduleRealInfo.isCcService()) {
571 602 if(scheduleRealInfo.getStatus() == -1){
572   - lbbc++;
  603 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  604 + boolean b = false;
  605 + if(!childTaskPlans.isEmpty()){ //(20231031)烂班班次,子任务如果有营运里程,视为实际班次。
  606 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  607 + while (it.hasNext()) {
  608 + ChildTaskPlan c = it.next();
  609 + if("service".equals(c.getMileageType()) && !c.isDestroy()){
  610 + BigDecimal mileage = new BigDecimal(c.getMileage());
  611 + if(mileage.compareTo(BigDecimal.ZERO) == 1){ //大于0
  612 + b = true;
  613 + }
  614 + }
  615 + if(b){
  616 + break;
  617 + }
  618 + }
  619 + }
  620 + if(!b){
  621 + lbbc++;
  622 + }
573 623 }
574 624 }
575 625 }
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -258,7 +258,9 @@ public class FormsServiceImpl implements FormsService {
258 258 if(map.get("fgsdmManth") != null){
259 259 fgsdmManth=map.get("fgsdmManth").toString();
260 260 }
261   - String sql ="select ";
  261 + String startDate = map.get("startDate").toString();
  262 + String endDate = map.get("endDate").toString();
  263 + String sql = "select ";
262 264 if(empnames.equals("驾驶员")){
263 265 sql += " r.j_gh ";
264 266 }else if(empnames.equals("售票员")){
... ... @@ -266,13 +268,19 @@ public class FormsServiceImpl implements FormsService {
266 268 }else{
267 269 sql += " r.cl_zbh ";
268 270 }
269   - sql += " from bsth_c_s_sp_info_real r where "
270   - + " r.schedule_date_str >= '" + map.get("startDate").toString() + "' "
271   - + " and r.schedule_date_str <='" + map.get("endDate").toString() + "' ";
  271 + sql += " from bsth_c_s_sp_info_real r where "
  272 + + " r.schedule_date_str >= ? "
  273 + + " and r.schedule_date_str <= ? ";
  274 + List<String> objList = new ArrayList<String>();
  275 + objList.add(startDate);
  276 + objList.add(endDate);
272 277 if(map.get("line")!=null&&!map.get("line").equals("")){
273   - sql+=" and r.xl_bm='"+ map.get("line").toString() + "' ";
  278 + sql += " and r.xl_bm = ? ";
  279 + objList.add(map.get("line").toString());
274 280 }
275   - sql+=" and r.gs_bm like'%"+gsdmManth+"%' and r.fgs_bm like'%"+fgsdmManth+"%'";
  281 + sql += " and r.gs_bm like ? and r.fgs_bm like ?";
  282 + objList.add('%' + gsdmManth + '%');
  283 + objList.add('%' + fgsdmManth + '%');
276 284  
277 285 if(empnames.equals("驾驶员")){
278 286 sql += " GROUP BY "
... ... @@ -283,7 +291,7 @@ public class FormsServiceImpl implements FormsService {
283 291 sql += " GROUP BY r.cl_zbh";
284 292 }
285 293  
286   - List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() {
  294 + List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Shiftuehiclemanth>() {
287 295  
288 296 @Override
289 297 public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException {
... ... @@ -3114,6 +3122,8 @@ public class FormsServiceImpl implements FormsService {
3114 3122 if(map.get("fgsdmDaily")!=null){
3115 3123 fgsbm=map.get("fgsdmDaily").toString();
3116 3124 }
  3125 +
  3126 + String date = map.get("date").toString();
3117 3127  
3118 3128 /*String sql="select t.schedule_date_str,"
3119 3129 + " t.cl_zbh,t.j_gh,t.j_name,x.yh from (select r.schedule_date_str,r.xl_bm,"
... ... @@ -3131,23 +3141,29 @@ public class FormsServiceImpl implements FormsService {
3131 3141 + " ) x"
3132 3142 + " on t.cl_zbh = x.nbbm and t.j_gh=x.jsy";*/
3133 3143  
3134   - String sql="select r.schedule_date_str, "
  3144 + List<String> objList = new ArrayList<String>();
  3145 + objList.add(date);
  3146 +
  3147 + String sql="select r.schedule_date_str,"
3135 3148 + " r.xl_bm,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm"
3136   - + " from bsth_c_s_sp_info_real r where "
3137   - + "r.schedule_date_str = '"+map.get("date").toString()+"'";
  3149 + + " from bsth_c_s_sp_info_real r where"
  3150 + + " r.schedule_date_str = ?";
3138 3151 if(!xlbm.equals("")){
3139   - sql += " and r.xl_bm = '"+xlbm+"'";
  3152 + sql += " and r.xl_bm = ?";
  3153 + objList.add(xlbm);
3140 3154 }
3141 3155 if(!gsbm.equals("")){
3142   - sql += " and r.gs_bm='"+gsbm+"'";
  3156 + sql += " and r.gs_bm = ?";
  3157 + objList.add(gsbm);
3143 3158 }
3144 3159 if(!fgsbm.equals("")){
3145   - sql += " and r.fgs_bm='"+fgsbm+"'";
  3160 + sql += " and r.fgs_bm = ?";
  3161 + objList.add(fgsbm);
3146 3162 }
3147 3163 sql += " group by r.schedule_date_str,"
3148 3164 + " r.xl_bm,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh";
3149 3165  
3150   - List<Daily> list = jdbcTemplate.query(sql, new RowMapper<Daily>() {
  3166 + List<Daily> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Daily>() {
3151 3167 @Override
3152 3168 public Daily mapRow(ResultSet arg0, int arg1) throws SQLException {
3153 3169 Daily daily = new Daily();
... ...
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
... ... @@ -308,6 +308,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
308 308 return list;
309 309 }
310 310  
  311 + @Override
311 312 public Map<Long, Set<ChildTaskPlan>> getChildTaskPlans(Long schedule1, Long schedule2){
312 313  
313 314 Map<Long, Set<ChildTaskPlan>> schMap = new HashMap<Long, Set<ChildTaskPlan>>();
... ... @@ -802,27 +803,27 @@ public class BusIntervalServiceImpl implements BusIntervalService {
802 803  
803 804 try {
804 805  
805   - List<String> strList = new ArrayList<String>();
806   - strList.add(startDate);
807   - strList.add(endDate);
  806 + List<String> objList = new ArrayList<String>();
  807 + objList.add(startDate);
  808 + objList.add(endDate);
808 809 if(line.length() != 0 && statu.equals("1")){
809   - strList.add('%' + line + '%');
  810 + objList.add('%' + line + '%');
810 811 } else {
811   - strList.add("%%");
  812 + objList.add("%%");
812 813 }
813 814 if(lp.length() != 0 && statu.equals("1")){
814   - strList.add('%' + lp + '%');
  815 + objList.add('%' + lp + '%');
815 816 } else {
816   - strList.add("%%");
  817 + objList.add("%%");
817 818 }
818   - strList.add('%' + company + '%');
819   - strList.add('%' + subCompany + '%');
  819 + objList.add('%' + company + '%');
  820 + objList.add('%' + subCompany + '%');
820 821 if(sfqr == 1){
821   - strList.add(times1);
822   - strList.add(times2);
  822 + objList.add(times1);
  823 + objList.add(times2);
823 824 } else {
824   - strList.add("");
825   - strList.add("23:59");
  825 + objList.add("");
  826 + objList.add("23:59");
826 827 }
827 828  
828 829 String sql = "select id, schedule_date_str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc, bc_type, xl_bm, fgs_bm,"
... ... @@ -831,7 +832,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
831 832 + " and xl_bm like ? and lp_name like ? and gs_bm like ? and fgs_bm like ? and zdsj >= ? and fcsj <= ?"
832 833 + " and bc_type != 'ldks'";
833 834  
834   - List<ScheduleRealInfo> query = jdbcTemplate.query(sql, strList.toArray(),
  835 + List<ScheduleRealInfo> query = jdbcTemplate.query(sql, objList.toArray(),
835 836 new RowMapper<ScheduleRealInfo>(){
836 837 @Override
837 838 public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
... ... @@ -925,21 +926,21 @@ public class BusIntervalServiceImpl implements BusIntervalService {
925 926 {
926 927 List<Map<String, String>> temp1 = new ArrayList<Map<String, String>>();
927 928 List<Map<String, String>> temp2 = new ArrayList<Map<String, String>>();
928   - List<String> strList1 = new ArrayList<String>();
929   - strList1.add(startDate);
930   - strList1.add(endDate);
  929 + List<String> objList1 = new ArrayList<String>();
  930 + objList1.add(startDate);
  931 + objList1.add(endDate);
931 932 if(line.length() != 0 && statu.equals("1")){
932   - strList1.add("%" + line + "%");
  933 + objList1.add("%" + line + "%");
933 934 } else {
934   - strList1.add("%%");
  935 + objList1.add("%%");
935 936 }
936   - strList1.add("%" + company + "%");
937   - strList1.add("%" + subCompany + "%");
  937 + objList1.add("%" + company + "%");
  938 + objList1.add("%" + subCompany + "%");
938 939 sql = "select id, lp, fcsj, xl_bm, tt_info from bsth_c_s_sp_info" +
939 940 " where bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'" +
940 941 " and schedule_date >= ? and schedule_date <= ? and xl_bm like ?" +
941 942 " and gs_bm like ? and fgs_bm like ?";
942   - List<Map<String, String>> query1 = jdbcTemplate.query(sql, strList1.toArray(),
  943 + List<Map<String, String>> query1 = jdbcTemplate.query(sql, objList1.toArray(),
943 944 new RowMapper<Map<String, String>>(){
944 945 @Override
945 946 public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException {
... ... @@ -1994,6 +1995,9 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1994 1995 ljpmlc = new BigDecimal("0"), qtlc = new BigDecimal("0");
1995 1996 String companyName = "", subCompanyName = "";
1996 1997 for(ScheduleRealInfo schedule : keyMap.get(key)){
  1998 + if(cts.containsKey(schedule.getId())){
  1999 + schedule.setcTasks(cts.get(schedule.getId()));
  2000 + }
1997 2001 if(schedule.getGsName() != null && companyName.trim().length() == 0)
1998 2002 companyName = schedule.getGsName();
1999 2003 if(schedule.getFgsName() != null && subCompanyName.trim().length() == 0)
... ... @@ -2010,51 +2014,59 @@ public class BusIntervalServiceImpl implements BusIntervalService {
2010 2014 jhlc = jhlc.add(lc);
2011 2015 }
2012 2016 if(schedule.getFcsjActual() != null && schedule.getZdsjActual() != null
2013   - && schedule.getStatus() != -1){
2014   - if(!schedule.isCcService())
  2017 + && schedule.getStatus() != -1 && !schedule.isCcService()){
  2018 + sjbc++;
  2019 + } else if(schedule.getStatus() == -1 && !schedule.isCcService()){ //(20231031)烂班班次,子任务如果有营运里程,视为实际班次。
  2020 + boolean b = false;
  2021 + Set<ChildTaskPlan> childTaskPlans = schedule.getcTasks();
  2022 + if(!childTaskPlans.isEmpty()){
  2023 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  2024 + while (it.hasNext()) {
  2025 + ChildTaskPlan c = it.next();
  2026 + if("service".equals(c.getMileageType()) && !c.isDestroy()){
  2027 + BigDecimal mileage = new BigDecimal(c.getMileage());
  2028 + if(mileage.compareTo(BigDecimal.ZERO) == 1){ //大于0
  2029 + b = true;
  2030 + }
  2031 + }
  2032 + if(b){
  2033 + break;
  2034 + }
  2035 + }
  2036 + }
  2037 +
  2038 + if(b){
2015 2039 sjbc++;
2016   -// sjlc = sjlc.add(lc);
2017   - } else if(schedule.getStatus() == -1){
2018   - if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("路阻") != -1){
2019   - lzbc++;
2020   -// lzlc = lzlc.add(lc);
2021   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("吊慢") != -1){
2022   - dmbc++;
2023   -// dmlc = dmlc.add(lc);
2024   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("故障") != -1){
2025   - gzbc++;
2026   -// gzlc = gzlc.add(lc);
2027   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("纠纷") != -1){
2028   - jfbc++;
2029   -// jflc = jflc.add(lc);
2030   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("肇事") != -1){
2031   - zsbc++;
2032   -// zslc = zslc.add(lc);
2033   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("缺人") != -1){
2034   - qrbc++;
2035   -// qrlc = qrlc.add(lc);
2036   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("缺车") != -1){
2037   - qcbc++;
2038   -// qclc = qclc.add(lc);
2039   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("客稀") != -1){
2040   - kxbc++;
2041   -// kxlc = kxlc.add(lc);
2042   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("气候") != -1){
2043   - qhbc++;
2044   -// qhlc = qhlc.add(lc);
2045   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("援外") != -1){
2046   - wybc++;
2047   -// wylc = wylc.add(lc);
2048   - }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("路救抛锚") != -1){
2049   - ljpmbc++;
2050 2040 } else {
2051   - qtbc++;
2052   -// qtlc = qtlc.add(lc);
  2041 +
  2042 + if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("路阻") != -1){
  2043 + lzbc++;
  2044 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("吊慢") != -1){
  2045 + dmbc++;
  2046 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("故障") != -1){
  2047 + gzbc++;
  2048 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("纠纷") != -1){
  2049 + jfbc++;
  2050 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("肇事") != -1){
  2051 + zsbc++;
  2052 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("缺人") != -1){
  2053 + qrbc++;
  2054 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("缺车") != -1){
  2055 + qcbc++;
  2056 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("客稀") != -1){
  2057 + kxbc++;
  2058 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("气候") != -1){
  2059 + qhbc++;
  2060 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("援外") != -1){
  2061 + wybc++;
  2062 + }else if(schedule.getAdjustExps() != null && schedule.getAdjustExps().indexOf("路救抛锚") != -1){
  2063 + ljpmbc++;
  2064 + } else {
  2065 + qtbc++;
  2066 + }
  2067 +
2053 2068 }
2054 2069 }
2055   - if(cts.containsKey(schedule.getId())){
2056   - schedule.setcTasks(cts.get(schedule.getId()));
2057   - }
2058 2070 }
2059 2071  
2060 2072 List<ScheduleRealInfo> tempList = new ArrayList<ScheduleRealInfo>();
... ... @@ -2263,32 +2275,34 @@ public class BusIntervalServiceImpl implements BusIntervalService {
2263 2275 if(endDate.length() == 0){
2264 2276 endDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
2265 2277 }
  2278 + Map<Long, Set<ChildTaskPlan>> cts = new HashMap<Long, Set<ChildTaskPlan>>();
2266 2279 try {
2267 2280  
2268 2281 String sql = "select * from bsth_c_s_sp_info_real where schedule_date_str" +
2269 2282 " >= ? and schedule_date_str <= ? and xl_bm like ?" +
2270 2283 " and fcsj >= ? and fcsj <= ? and gs_bm like ? and fgs_bm like ?" +
2271 2284 " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'";
2272   - List<String> strList = new ArrayList<String>();
2273   - strList.add(startDate);
2274   - strList.add(endDate);
2275   - strList.add('%' + line + '%');
  2285 + List<String> objList = new ArrayList<String>();
  2286 + objList.add(startDate);
  2287 + objList.add(endDate);
  2288 + objList.add('%' + line + '%');
2276 2289 if(sfqr == 1 && times.length() != 0){
2277 2290 String[] split = times.split("-");
2278   - strList.add(split[0]);
2279   - strList.add(split[1]);
  2291 + objList.add(split[0]);
  2292 + objList.add(split[1]);
2280 2293 } else {
2281   - strList.add("");
2282   - strList.add("23:59");
  2294 + objList.add("");
  2295 + objList.add("23:59");
2283 2296 }
2284   - strList.add('%' + company + '%');
2285   - strList.add('%' + subCompany + '%');
  2297 + objList.add('%' + company + '%');
  2298 + objList.add('%' + subCompany + '%');
2286 2299  
2287   - List<ScheduleRealInfo> query = jdbcTemplate.query(sql, strList.toArray(),
  2300 + List<ScheduleRealInfo> query = jdbcTemplate.query(sql, objList.toArray(),
2288 2301 new RowMapper<ScheduleRealInfo>(){
2289 2302 @Override
2290 2303 public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
2291 2304 ScheduleRealInfo schedule = new ScheduleRealInfo();
  2305 + schedule.setId(rs.getLong("id"));
2292 2306 schedule.setScheduleDateStr(rs.getString("schedule_date_str"));
2293 2307 schedule.setXlBm(rs.getString("xl_bm"));
2294 2308 schedule.setXlName(rs.getString("xl_name"));
... ... @@ -2327,6 +2341,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
2327 2341 return schedule;
2328 2342 }
2329 2343 });
  2344 + long schedule1 = 0l, schedule2 = 0l;
2330 2345 for(ScheduleRealInfo s : query){
2331 2346 if(line.length() != 0){
2332 2347 if(!line.equals(s.getXlBm())){
... ... @@ -2334,7 +2349,16 @@ public class BusIntervalServiceImpl implements BusIntervalService {
2334 2349 }
2335 2350 }
2336 2351 list.add(s);
  2352 +
  2353 + long id = s.getId();
  2354 + if(schedule1 == 0l || schedule1 > id)
  2355 + schedule1 = id;
  2356 + if(schedule2 == 0l || schedule2 < id)
  2357 + schedule2 = id;
2337 2358 }
  2359 +
  2360 + cts = getChildTaskPlans(schedule1, schedule2);
  2361 +
2338 2362 }catch (Exception e) {
2339 2363 // TODO: handle exception
2340 2364 e.printStackTrace();
... ... @@ -2379,6 +2403,9 @@ public class BusIntervalServiceImpl implements BusIntervalService {
2379 2403 int sjbc = 0, sddf = 0, zddf = 0,
2380 2404 dxtz = 0, lbtz = 0;
2381 2405 for(ScheduleRealInfo schedule : keyMap.get(key)){
  2406 + if(cts.containsKey(schedule.getId())){
  2407 + schedule.setcTasks(cts.get(schedule.getId()));
  2408 + }
2382 2409 if(schedule.getGsName() != null && companyName.trim().length() == 0)
2383 2410 companyName = schedule.getGsName();
2384 2411 if(schedule.getFgsName() != null && subCompanyName.trim().length() == 0)
... ... @@ -2395,8 +2422,27 @@ public class BusIntervalServiceImpl implements BusIntervalService {
2395 2422 else
2396 2423 sddf++;
2397 2424 }
2398   -
2399   -
  2425 + } else if(schedule.getStatus() == -1 && !schedule.isCcService()){ //(20231031)烂班班次,子任务如果有营运里程,视为实际班次。
  2426 + Set<ChildTaskPlan> childTaskPlans = schedule.getcTasks();
  2427 + if(!childTaskPlans.isEmpty()){
  2428 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  2429 + boolean b = false;
  2430 + while (it.hasNext()) {
  2431 + ChildTaskPlan c = it.next();
  2432 + if("service".equals(c.getMileageType()) && !c.isDestroy()){
  2433 + BigDecimal mileage = new BigDecimal(c.getMileage());
  2434 + if(mileage.compareTo(BigDecimal.ZERO) == 1){ //大于0
  2435 + b = true;
  2436 + }
  2437 + }
  2438 + if(b){
  2439 + break;
  2440 + }
  2441 + }
  2442 + if(b){
  2443 + sjbc++;
  2444 + }
  2445 + }
2400 2446 }
2401 2447 if(schedule.getStatus() == -1){
2402 2448 flag = true;
... ... @@ -3047,14 +3093,14 @@ public class BusIntervalServiceImpl implements BusIntervalService {
3047 3093 "where schedule_date_str >= ? and schedule_date_str <= ? " +
3048 3094 "and gs_bm like ? and fgs_bm like ? and xl_bm like ? " +
3049 3095 "and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and cc_service = 0";
3050   - List<String> strList = new ArrayList<String>();
3051   - strList.add(startDate);
3052   - strList.add(endDate);
3053   - strList.add('%' + company + '%');
3054   - strList.add('%' + subCompany + '%');
3055   - strList.add('%' + line + '%');
  3096 + List<String> objList = new ArrayList<String>();
  3097 + objList.add(startDate);
  3098 + objList.add(endDate);
  3099 + objList.add('%' + company + '%');
  3100 + objList.add('%' + subCompany + '%');
  3101 + objList.add('%' + line + '%');
3056 3102  
3057   - List<ScheduleRealInfo> query = jdbcTemplate.query(sql, strList.toArray(),
  3103 + List<ScheduleRealInfo> query = jdbcTemplate.query(sql, objList.toArray(),
3058 3104 new RowMapper<ScheduleRealInfo>(){
3059 3105 @Override
3060 3106 public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
... ...