Commit aab40b9bcfc3426a36cf882ffd67232912790943
1 parent
4ccd76ef
电量管理和报表中出现的电量都改为保留三位小数;到离站查询历史GPS设备号无法关联到车辆的问题修复;SQL注入漏洞;
Showing
20 changed files
with
1560 additions
and
1562 deletions
src/main/java/com/bsth/controller/forms/ExportController.java
| ... | ... | @@ -780,9 +780,9 @@ public class ExportController { |
| 780 | 780 | } |
| 781 | 781 | |
| 782 | 782 | m=new HashMap<String,Object>(); |
| 783 | - m.put("total_zgl", zgl); | |
| 784 | - m.put("total_ks", ks); | |
| 785 | - m.put("total_yh", yh); | |
| 783 | + m.put("total_zgl", Arith.round(zgl, 3)); | |
| 784 | + m.put("total_ks", Arith.round(ks, 3)); | |
| 785 | + m.put("total_yh", Arith.round(yh, 3)); | |
| 786 | 786 | m.put("total_bc", bc); |
| 787 | 787 | |
| 788 | 788 | m.put("line", BasicData.lineCode2NameMap.get(map.get("line").toString())); | ... | ... |
src/main/java/com/bsth/repository/CarDeviceRepository.java
| ... | ... | @@ -21,4 +21,21 @@ public interface CarDeviceRepository extends BaseRepository<CarDevice, Long> { |
| 21 | 21 | |
| 22 | 22 | @Query(value="select s from CarDevice s where s.clZbh=?1 and s.qyrq>=?2 ") |
| 23 | 23 | List<CarDevice> findCarCode(String code,Date date ); |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 查询车编号关联的历史设备号 | |
| 27 | + * | |
| 28 | + * @return 车辆自编号、牌照号、设备编号、设备编号的启用时间/停用时间、on启用/off停用 | |
| 29 | + */ | |
| 30 | + @Query(value="select * from( " | |
| 31 | + +"select * from(select c.inside_code, c.car_plate, d.new_device_no device_no, d.qyrq, 'on' state " | |
| 32 | + +"from bsth_c_cars c left join bsth_c_car_device d on c.inside_code = d.cl_zbh " | |
| 33 | + +"where qyrq is not null)a " | |
| 34 | + +"UNION " | |
| 35 | + +"select * from(select c.inside_code, c.car_plate, d.old_device_no device_no, d.qyrq, 'off' state " | |
| 36 | + +"from bsth_c_cars c left join bsth_c_car_device d on c.inside_code = d.cl_zbh " | |
| 37 | + +"where qyrq is not null)b " | |
| 38 | + +")c order by device_no, qyrq, state ",nativeQuery=true) | |
| 39 | + List<Object[]> selectCarHistoryDeviceNo(); | |
| 40 | + | |
| 24 | 41 | } | ... | ... |
src/main/java/com/bsth/service/calc/impl/CalcMixServiceImpl.java
| 1 | -package com.bsth.service.calc.impl; | |
| 2 | - | |
| 3 | -import java.sql.ResultSet; | |
| 4 | -import java.sql.SQLException; | |
| 5 | -import java.text.SimpleDateFormat; | |
| 6 | -import java.util.ArrayList; | |
| 7 | -import java.util.HashMap; | |
| 8 | -import java.util.Iterator; | |
| 9 | -import java.util.List; | |
| 10 | -import java.util.Map; | |
| 11 | - | |
| 12 | -import com.bsth.data.BasicData; | |
| 13 | -import com.bsth.entity.calc.CalcWaybill; | |
| 14 | -import com.bsth.entity.calc.CalcInvestigateMonth; | |
| 15 | -import com.bsth.entity.mcy_forms.Singledata; | |
| 16 | -import com.bsth.repository.calc.CalcInvestigateMonthRepository; | |
| 17 | -import com.bsth.repository.calc.CalcWaybillRepository; | |
| 18 | -import com.bsth.service.LineService; | |
| 19 | -import com.bsth.service.calc.CalcMixService; | |
| 20 | -import com.bsth.util.Arith; | |
| 21 | -import com.bsth.util.ReportUtils; | |
| 22 | - | |
| 23 | -import org.slf4j.Logger; | |
| 24 | -import org.slf4j.LoggerFactory; | |
| 25 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 26 | -import org.springframework.jdbc.core.JdbcTemplate; | |
| 27 | -import org.springframework.jdbc.core.RowMapper; | |
| 28 | -import org.springframework.stereotype.Service; | |
| 29 | - | |
| 30 | -/** | |
| 31 | - * Created by 19/02/28. | |
| 32 | - */ | |
| 33 | -@Service | |
| 34 | -public class CalcMixServiceImpl implements CalcMixService { | |
| 35 | - | |
| 36 | - @Autowired | |
| 37 | - private CalcWaybillRepository calcRepository; | |
| 38 | - | |
| 39 | - @Autowired | |
| 40 | - private CalcInvestigateMonthRepository calcInvestigateMonthRepository; | |
| 41 | - | |
| 42 | - @Autowired | |
| 43 | - private LineService lineService; | |
| 44 | - | |
| 45 | - @Autowired | |
| 46 | - JdbcTemplate jdbcTemplate; | |
| 47 | - | |
| 48 | - | |
| 49 | - Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 50 | - | |
| 51 | - | |
| 52 | - @Override | |
| 53 | - public List<Map<String, Object>> calcjsyspy(String line, String date, String date2, | |
| 54 | - String empnames, String cont, String gsdm, String fgsdm) { | |
| 55 | - | |
| 56 | - List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 57 | - List<CalcWaybill> list = null; | |
| 58 | - | |
| 59 | - int flag = 0; | |
| 60 | - if("驾驶员".equals(empnames)){ | |
| 61 | - flag = 1; | |
| 62 | - list = calcRepository.scheduleByJsy(line, date, date2, gsdm, fgsdm, cont); | |
| 63 | - } else if("售票员".equals(empnames)){ | |
| 64 | - flag = 2; | |
| 65 | - list = calcRepository.scheduleBySpy(line, date, date2, gsdm, fgsdm, cont); | |
| 66 | - } else if("车辆自编号".equals(empnames)){ | |
| 67 | - flag = 3; | |
| 68 | - list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont); | |
| 69 | - } | |
| 70 | - | |
| 71 | - List<CalcWaybill> calcList = new ArrayList<CalcWaybill>(); | |
| 72 | - Map<String, CalcWaybill> calcMap = new HashMap<String, CalcWaybill>(); | |
| 73 | - | |
| 74 | - CalcWaybill zjCalc = this.initCalcWaybill(); | |
| 75 | - zjCalc.setjName("合计"); | |
| 76 | - for(CalcWaybill c : list){ | |
| 77 | - String key = ""; | |
| 78 | - if(flag == 1){ | |
| 79 | - if(c.getjGh() != null && c.getjName() != null) | |
| 80 | - key = c.getjGh() + "/" + c.getjName(); | |
| 81 | - } else if(flag == 2){ | |
| 82 | - if(c.getsGh() != null && c.getsName() != null) | |
| 83 | - key = c.getsGh() + "/" + c.getsName(); | |
| 84 | - } else if(flag == 3){ | |
| 85 | - if(c.getCl() != null) | |
| 86 | - key = c.getCl(); | |
| 87 | - } | |
| 88 | - | |
| 89 | - if(key.trim().length() == 0 || "/".equals(key)) | |
| 90 | - continue; | |
| 91 | - | |
| 92 | - CalcWaybill calc = null; | |
| 93 | - if(calcMap.containsKey(key)){ | |
| 94 | - calc = calcMap.get(key); | |
| 95 | - } else { | |
| 96 | - calc = this.initCalcWaybill(); | |
| 97 | - calc.setjName(key); | |
| 98 | - calcList.add(calc); | |
| 99 | - calcMap.put(key, calc); | |
| 100 | - } | |
| 101 | - | |
| 102 | - this.summation(calc, c); | |
| 103 | - | |
| 104 | - this.summation(zjCalc, c); | |
| 105 | - | |
| 106 | - } | |
| 107 | - calcList.add(zjCalc); | |
| 108 | - calcMap.put("合计", zjCalc); | |
| 109 | - | |
| 110 | - for(CalcWaybill c : calcList){ | |
| 111 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 112 | - m.put("jName", c.getjName()); | |
| 113 | - m.put("jhyybc", c.getJhyybc()); | |
| 114 | - m.put("jhfyybc", c.getJhfyybc()); | |
| 115 | - m.put("sjyybc", c.getSjyybc()); | |
| 116 | - m.put("sjfyybc", c.getSjfyybc()); | |
| 117 | - m.put("lbbc", c.getLbbc()); | |
| 118 | - m.put("ljbc", c.getLjbc()); | |
| 119 | - m.put("jhzlc", Arith.add(c.getJhyylc(), c.getJhfyylc())); | |
| 120 | - m.put("jhyylc", c.getJhyylc()); | |
| 121 | - m.put("jhfyylc", c.getJhfyylc()); | |
| 122 | - m.put("sjzlc", Arith.add(c.getSjyylc(), c.getSjfyylc())); | |
| 123 | - m.put("sjyylc", c.getSjyylc()); | |
| 124 | - m.put("sjfyylc", c.getSjfyylc()); | |
| 125 | - m.put("lblc", c.getLblc()); | |
| 126 | - m.put("ljyylc", c.getLjyylc()); | |
| 127 | - m.put("ljfyylc", c.getLjfyylc()); | |
| 128 | - resList.add(m); | |
| 129 | - } | |
| 130 | - | |
| 131 | - return resList; | |
| 132 | - } | |
| 133 | - | |
| 134 | - public CalcWaybill initCalcWaybill(){ | |
| 135 | - CalcWaybill calc = new CalcWaybill(); | |
| 136 | - calc.setJhyybc(0); | |
| 137 | - calc.setJhyylc(0d); | |
| 138 | - calc.setJhfyybc(0); | |
| 139 | - calc.setJhfyylc(0d); | |
| 140 | - calc.setSjyybc(0); | |
| 141 | - calc.setSjyylc(0d); | |
| 142 | - calc.setSjfyybc(0); | |
| 143 | - calc.setSjfyylc(0d); | |
| 144 | - calc.setLbbc(0); | |
| 145 | - calc.setLblc(0d); | |
| 146 | - calc.setLjbc(0); | |
| 147 | - calc.setLjyylc(0d); | |
| 148 | - calc.setLjfyylc(0d); | |
| 149 | - return calc; | |
| 150 | - } | |
| 151 | - | |
| 152 | - public CalcWaybill summation(CalcWaybill c1, CalcWaybill c2){ | |
| 153 | - c1.setJhyybc(c1.getJhyybc() + c2.getJhyybc()); | |
| 154 | - c1.setJhyylc(Arith.add(c1.getJhyylc(), c2.getJhyylc())); | |
| 155 | - c1.setJhfyybc(c1.getJhfyybc() + c2.getJhfyybc()); | |
| 156 | - c1.setJhfyylc(Arith.add(c1.getJhfyylc(), c2.getJhfyylc())); | |
| 157 | - c1.setSjyybc(c1.getSjyybc() + c2.getSjyybc()); | |
| 158 | - c1.setSjyylc(Arith.add(c1.getSjyylc(), c2.getSjyylc())); | |
| 159 | - c1.setSjyylc(Arith.add(c1.getSjyylc(), c2.getLjyylc())); | |
| 160 | - c1.setSjfyybc(c1.getSjfyybc() + c2.getSjfyybc()); | |
| 161 | - c1.setSjfyylc(Arith.add(c1.getSjfyylc(), c2.getSjfyylc())); | |
| 162 | - c1.setSjfyylc(Arith.add(c1.getSjfyylc(), c2.getLjfyylc())); | |
| 163 | - c1.setLbbc(c1.getLbbc() + c2.getLbbc()); | |
| 164 | - c1.setLblc(Arith.add(c1.getLblc(), c2.getLblc())); | |
| 165 | - c1.setLjbc(c1.getLjbc() + c2.getLjbc()); | |
| 166 | - c1.setLjyylc(Arith.add(c1.getLjyylc(), c2.getLjyylc())); | |
| 167 | - c1.setLjfyylc(Arith.add(c1.getLjfyylc(), c2.getLjfyylc())); | |
| 168 | - return c1; | |
| 169 | - } | |
| 170 | - | |
| 171 | - @Override | |
| 172 | - public List<Map<String, Object>> singledatatj(String line, | |
| 173 | - String date, String date2, | |
| 174 | - String tjtype, String cont, | |
| 175 | - String gsdm, String fgsdm, String sfdc) { | |
| 176 | - | |
| 177 | - List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 178 | - List<CalcWaybill> list = null; | |
| 179 | - | |
| 180 | - int flag = 0; | |
| 181 | - if("驾驶员".equals(tjtype)){ | |
| 182 | - flag = 1; | |
| 183 | - list = calcRepository.scheduleByJsy(line, date, date2, gsdm, fgsdm, cont); | |
| 184 | - } else if("售票员".equals(tjtype)){ | |
| 185 | - flag = 2; | |
| 186 | - list = calcRepository.scheduleBySpy(line, date, date2, gsdm, fgsdm, cont); | |
| 187 | - } else if("车辆自编号".equals(tjtype)){ | |
| 188 | - flag = 3; | |
| 189 | - if("1".equals(sfdc)){ | |
| 190 | - list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont, true); | |
| 191 | - } else if("0".equals(sfdc)){ | |
| 192 | - list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont, false); | |
| 193 | - } else { | |
| 194 | - list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont); | |
| 195 | - } | |
| 196 | - } | |
| 197 | - | |
| 198 | - List<CalcWaybill> calcList = new ArrayList<CalcWaybill>(); | |
| 199 | - Map<String, CalcWaybill> calcMap = new HashMap<String, CalcWaybill>(); | |
| 200 | - | |
| 201 | - CalcWaybill zjCalc = this.initCalcWaybill(); | |
| 202 | - zjCalc.setjName("合计"); | |
| 203 | - for(CalcWaybill c : list){ | |
| 204 | - String key = ""; | |
| 205 | - if(flag == 1){ | |
| 206 | - if(c.getjGh() != null && c.getjName() != null) | |
| 207 | - key += c.getjGh() + "/" + c.getjName(); | |
| 208 | - } else if(flag == 2){ | |
| 209 | - if(c.getsGh() != null && c.getsName() != null) | |
| 210 | - key += c.getsGh() + "/" + c.getsName(); | |
| 211 | - } else if(flag == 3){ | |
| 212 | - if(c.getCl() != null) | |
| 213 | - key += c.getCl(); | |
| 214 | - } | |
| 215 | - | |
| 216 | - if(key.trim().length() == 0 || "/".equals(key)) | |
| 217 | - continue; | |
| 218 | - | |
| 219 | - String jName = key; | |
| 220 | - key = c.getXl() + "/" + key; | |
| 221 | - | |
| 222 | - CalcWaybill calc = null; | |
| 223 | - if(calcMap.containsKey(key)){ | |
| 224 | - calc = calcMap.get(key); | |
| 225 | - } else { | |
| 226 | - calc = this.initCalcWaybill(); | |
| 227 | - calc.setXlName(c.getXlName()); | |
| 228 | - calc.setXl(c.getXl()); | |
| 229 | - calc.setjName(jName); | |
| 230 | - calcList.add(calc); | |
| 231 | - calcMap.put(key, calc); | |
| 232 | - } | |
| 233 | - | |
| 234 | - this.summation(calc, c); | |
| 235 | - | |
| 236 | - this.summation(zjCalc, c); | |
| 237 | - | |
| 238 | - } | |
| 239 | - calcList.add(zjCalc); | |
| 240 | - calcMap.put("合计", zjCalc); | |
| 241 | - | |
| 242 | - Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); | |
| 243 | - for(CalcWaybill c : calcList){ | |
| 244 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 245 | - m.put("gS", BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 246 | - m.put("xl", c.getXl()); | |
| 247 | - m.put("xlName", c.getXlName()); | |
| 248 | - m.put("jName", c.getjName()); | |
| 249 | - m.put("jhyybc", c.getJhyybc()); | |
| 250 | - m.put("jhfyybc", c.getJhfyybc()); | |
| 251 | - m.put("sjyybc", c.getSjyybc()); | |
| 252 | - m.put("sjfyybc", c.getSjfyybc()); | |
| 253 | - m.put("lbbc", c.getLbbc()); | |
| 254 | - m.put("ljbc", c.getLjbc()); | |
| 255 | - m.put("jhzlc", Arith.add(c.getJhyylc(), c.getJhfyylc())); | |
| 256 | - m.put("jhyylc", c.getJhyylc()); | |
| 257 | - m.put("jhfyylc", c.getJhfyylc()); | |
| 258 | - m.put("sjzlc", Arith.add(c.getSjyylc(), c.getSjfyylc())); | |
| 259 | - m.put("sjyylc", c.getSjyylc()); | |
| 260 | - m.put("sjfyylc", c.getSjfyylc()); | |
| 261 | - m.put("lblc", c.getLblc()); | |
| 262 | - m.put("ljyylc", c.getLjyylc()); | |
| 263 | - m.put("ljfyylc", c.getLjfyylc()); | |
| 264 | - if(flag != 2){ | |
| 265 | - m.put("hyl", 0); | |
| 266 | - m.put("jzl", 0); | |
| 267 | - m.put("sh", 0); | |
| 268 | - } | |
| 269 | - resList.add(m); | |
| 270 | - keyMap.put(c.getXl() + "/" + c.getjName(), m); | |
| 271 | - } | |
| 272 | - | |
| 273 | - String linesql=""; | |
| 274 | - if(!line.equals("")){ | |
| 275 | - linesql +=" and xlbm ='"+line+"' "; | |
| 276 | - } | |
| 277 | - if(!gsdm.equals("")){ | |
| 278 | - linesql +=" and ssgsdm ='"+gsdm+"' "; | |
| 279 | - } | |
| 280 | - if(!fgsdm.equals("")){ | |
| 281 | - linesql +=" and fgsdm ='"+fgsdm+"' "; | |
| 282 | - } | |
| 283 | - String nysql="SELECT id,xlbm,nbbm,jsy,jzl as jzl,yh as yh,sh as sh,fgsdm FROM bsth_c_ylb" | |
| 284 | - + " WHERE rq >= '"+date+"' and rq <= '"+date2+"'" | |
| 285 | - + linesql | |
| 286 | - + " union" | |
| 287 | - + " SELECT id,xlbm,nbbm,jsy,cdl as jzl,hd as yh,sh as sh,fgsdm FROM bsth_c_dlb" | |
| 288 | - + " WHERE rq >= '"+date+"' and rq <= '"+date2+"'" | |
| 289 | - + linesql; | |
| 290 | - List<Singledata> listNy = jdbcTemplate.query(nysql, new RowMapper<Singledata>() { | |
| 291 | - @Override | |
| 292 | - public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 293 | - Singledata sin = new Singledata(); | |
| 294 | - sin.setxL(arg0.getString("xlbm")); | |
| 295 | - sin.setJsy(arg0.getString("jsy")); | |
| 296 | - sin.setClzbh(arg0.getString("nbbm")); | |
| 297 | - sin.setJzl(arg0.getString("jzl")); | |
| 298 | - sin.setHyl(arg0.getString("yh")); | |
| 299 | - sin.setUnyyyl(arg0.getString("sh")); | |
| 300 | - sin.setgS(arg0.getString("fgsdm")); | |
| 301 | - return sin; | |
| 302 | - } | |
| 303 | - }); | |
| 304 | - | |
| 305 | - if(flag != 2){ | |
| 306 | - Map<String, Object> last = resList.get(resList.size()-1); | |
| 307 | - last.put("hyl", 0); | |
| 308 | - last.put("jzl", 0); | |
| 309 | - last.put("sh", 0); | |
| 310 | - | |
| 311 | - //统计油,电表中手动添加的或者有加注没里程的数据 | |
| 312 | - for (int i = 0; i < listNy.size(); i++) { | |
| 313 | - Singledata sin_=listNy.get(i); | |
| 314 | - String xl=sin_.getxL(); | |
| 315 | - String str = ""; | |
| 316 | - if(flag == 1){ | |
| 317 | - str = sin_.getJsy() + "/" + BasicData.allPerson.get(gsdm+"-"+sin_.getJsy()); | |
| 318 | - } else { | |
| 319 | - str = sin_.getClzbh(); | |
| 320 | - } | |
| 321 | -// boolean fages=true; | |
| 322 | - if(keyMap.containsKey(xl + "/" + str)){ | |
| 323 | - Map<String, Object> m = keyMap.get(xl + "/" + str); | |
| 324 | - m.put("hyl", Arith.add(m.get("hyl"), sin_.getHyl()!=null?sin_.getHyl():0)); | |
| 325 | - m.put("jzl", Arith.add(m.get("jzl"), sin_.getJzl()!=null?sin_.getJzl():0)); | |
| 326 | - m.put("sh", Arith.add(m.get("sh"), sin_.getUnyyyl()!=null?sin_.getUnyyyl():0)); | |
| 327 | - last.put("hyl", Arith.add(last.get("hyl"), sin_.getHyl()!=null?sin_.getHyl():0)); | |
| 328 | - last.put("jzl", Arith.add(last.get("jzl"), sin_.getJzl()!=null?sin_.getJzl():0)); | |
| 329 | - last.put("sh", Arith.add(last.get("sh"), sin_.getUnyyyl()!=null?sin_.getUnyyyl():0)); | |
| 330 | - } else { | |
| 331 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 332 | - m.put("gS", BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 333 | - m.put("xl", xl); | |
| 334 | - m.put("xlName", BasicData.lineCodeAllNameMap.get(xl)); | |
| 335 | - m.put("jName", str); | |
| 336 | - m.put("jhzlc", 0); | |
| 337 | - m.put("sjzlc", 0); | |
| 338 | - m.put("sjfyylc", 0); | |
| 339 | - m.put("hyl", sin_.getHyl()!=null?sin_.getHyl():0); | |
| 340 | - m.put("jzl", sin_.getJzl()!=null?sin_.getJzl():0); | |
| 341 | - m.put("sh", sin_.getUnyyyl()!=null?sin_.getUnyyyl():0); | |
| 342 | - last.put("hyl", Arith.add(last.get("hyl"), m.get("hyl"))); | |
| 343 | - last.put("jzl", Arith.add(last.get("jzl"), m.get("jzl"))); | |
| 344 | - last.put("sh", Arith.add(last.get("sh"), m.get("sh"))); | |
| 345 | - | |
| 346 | - keyMap.put(xl + "/" + str, m); | |
| 347 | - } | |
| 348 | - } | |
| 349 | - resList.remove(last); | |
| 350 | - resList.add(last); | |
| 351 | - } | |
| 352 | - | |
| 353 | - return resList; | |
| 354 | - } | |
| 355 | - | |
| 356 | - //浦东公交线路调查表 | |
| 357 | - @Override | |
| 358 | - public List<CalcInvestigateMonth> calcInvestigateMonth(String gsbm, String fgsbm, String month, String line, | |
| 359 | - String xlName, String nature, String type) { | |
| 360 | - List<CalcInvestigateMonth> resList = new ArrayList<CalcInvestigateMonth>(); | |
| 361 | - | |
| 362 | - Map<String, Boolean> lineNature = lineService.lineNature(); | |
| 363 | - | |
| 364 | - List<CalcInvestigateMonth> list = new ArrayList<CalcInvestigateMonth>(); | |
| 365 | - if(line != null && line.length() > 0){ | |
| 366 | - list = calcInvestigateMonthRepository.findByMonthAndLine(month, line); | |
| 367 | - } else if(gsbm != null && gsbm.length() > 0){ | |
| 368 | - list = calcInvestigateMonthRepository.findByMonth(month, gsbm, fgsbm); | |
| 369 | - } else { | |
| 370 | - list = calcInvestigateMonthRepository.findByMonth(month); | |
| 371 | - } | |
| 372 | - | |
| 373 | - for(CalcInvestigateMonth c : list){ | |
| 374 | - c.setGsName(BasicData.businessCodeNameMap.get(c.getGsbm())); | |
| 375 | - c.setFgsName(BasicData.businessFgsCodeNameMap.get(String.format("%s_%s", c.getGsbm(), c.getFgsbm()))); | |
| 376 | - if("1".equals(nature)){ | |
| 377 | - if(lineNature.containsKey(c.getXl()) && lineNature.get(c.getXl())){ | |
| 378 | - resList.add(c); | |
| 379 | - } | |
| 380 | - } else if("2".equals(nature)){ | |
| 381 | - if(!lineNature.containsKey(c.getXl()) || !lineNature.get(c.getXl())){ | |
| 382 | - resList.add(c); | |
| 383 | - } | |
| 384 | - } else { | |
| 385 | - resList.add(c); | |
| 386 | - } | |
| 387 | - } | |
| 388 | - | |
| 389 | - if (type != null && type.length() != 0 && type.equals("export")) { | |
| 390 | - SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | |
| 391 | - sdfSimple = new SimpleDateFormat("yyyyMMdd"), | |
| 392 | - monSimple = new SimpleDateFormat("yyyy-MM"); | |
| 393 | - List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 394 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 395 | - m.put("date", month); | |
| 396 | - m.put("currMonth", "(" + month + ")"); | |
| 397 | - ReportUtils ee = new ReportUtils(); | |
| 398 | - try { | |
| 399 | - List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | |
| 400 | - int row = 0; | |
| 401 | - for(CalcInvestigateMonth c : resList){ | |
| 402 | - Map<String, Object> map = new HashMap<String, Object>(); | |
| 403 | - map.put("row", ++row); | |
| 404 | - map.put("xlmc", c.getXlmc()!=null?c.getXlmc():""); | |
| 405 | - map.put("qzpcs", c.getQzpcs()!=null?c.getQzpcs():""); | |
| 406 | - map.put("xlsx", c.getXlsx()!=null?c.getXlsx():""); | |
| 407 | - map.put("xllx", c.getXllx()!=null?c.getXllx():""); | |
| 408 | - map.put("xlcd", c.getXlcd()!=null?c.getXlcd():""); | |
| 409 | - map.put("sfgp", c.getSfgp()!=null?c.getSfgp():""); | |
| 410 | - map.put("sflpxl", c.getSflpxl()!=null?c.getSflpxl():""); | |
| 411 | - map.put("smbsj", c.getSmbsj()!=null?c.getSmbsj():""); | |
| 412 | - if("常规".equals(c.getDdfs())){ | |
| 413 | - map.put("ddfsCg", "√"); | |
| 414 | - map.put("ddfsDyh", ""); | |
| 415 | - } else if("多样化".equals(c.getDdfs())){ | |
| 416 | - map.put("ddfsCg", ""); | |
| 417 | - map.put("ddfsDyh", "√"); | |
| 418 | - } else { | |
| 419 | - map.put("ddfsCg", ""); | |
| 420 | - map.put("ddfsDyh", ""); | |
| 421 | - } | |
| 422 | - map.put("gfjgsj", c.getGfjgsj()!=null?c.getGfjgsj():""); | |
| 423 | - map.put("dgjgsj", c.getDgjgsj()!=null?c.getDgjgsj():""); | |
| 424 | - map.put("sfxjgj", c.getSfxjgj()!=null?c.getSfxjgj():""); | |
| 425 | - map.put("rjlc", c.getRjlc()!=null?c.getRjlc():""); | |
| 426 | - map.put("rjbc", c.getRjbc()!=null?c.getRjbc():""); | |
| 427 | - map.put("rjrc", c.getRjrc()!=null?c.getRjrc():""); | |
| 428 | - map.put("rjdcrc", c.getRjdcrc()!=null?c.getRjdcrc():""); | |
| 429 | - map.put("mbcrc", c.getMbcrc()!=null?c.getMbcrc():""); | |
| 430 | - map.put("jhzgl", c.getJhzgl()!=null?c.getJhzgl():""); | |
| 431 | - map.put("sjzgl", c.getSjzgl()!=null?c.getSjzgl():""); | |
| 432 | - map.put("sjyylc", c.getSjyylc()!=null?c.getSjyylc():""); | |
| 433 | - map.put("lclyl", c.getLclyl()!=null?c.getLclyl():""); | |
| 434 | - map.put("bglrc", c.getBglrc()!=null?c.getBglrc():""); | |
| 435 | - map.put("yrc", c.getYrc()!=null?c.getYrc():""); | |
| 436 | - map.put("yys", c.getYys()!=null?c.getYys():""); | |
| 437 | - map.put("pj", c.getPj()!=null?c.getPj():""); | |
| 438 | - map.put("bglys", c.getBglys()!=null?c.getBglys():""); | |
| 439 | - map.put("tjgjz", c.getTjgjz()!=null?c.getTjgjz():""); | |
| 440 | - map.put("tjsjyy", c.getTjsjyy()!=null?c.getTjsjyy():""); | |
| 441 | - map.put("wyx", c.getWyx()!=null?c.getWyx():""); | |
| 442 | - map.put("xlzx", c.getXlzx()!=null?c.getXlzx():""); | |
| 443 | - map.put("xlzd", c.getXlzd()!=null?c.getXlzd():""); | |
| 444 | - map.put("bz", c.getBz()!=null?c.getBz():""); | |
| 445 | - map.put("qqz", c.getQqz()!=null?c.getQqz():""); | |
| 446 | - map.put("gsName", BasicData.businessCodeNameMap.get(c.getGsbm())); | |
| 447 | - map.put("fgsName", BasicData.businessFgsCodeNameMap.get(String.format("%s_%s", c.getGsbm(), c.getFgsbm()))); | |
| 448 | - mapList.add(map); | |
| 449 | - } | |
| 450 | - listI.add(mapList.iterator()); | |
| 451 | - String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | |
| 452 | - ee.excelReplace(listI, new Object[]{m}, path + "mould/calcInvestigateMonth.xls", | |
| 453 | - path + "export/" + "浦东公交线路调查表"+month+".xls"); | |
| 454 | - } catch (Exception e) { | |
| 455 | - // TODO: handle exception | |
| 456 | - e.printStackTrace(); | |
| 457 | - logger.info("" , e); | |
| 458 | - } | |
| 459 | - } | |
| 460 | - return resList; | |
| 461 | - } | |
| 462 | - | |
| 463 | -} | |
| 1 | +package com.bsth.service.calc.impl; | |
| 2 | + | |
| 3 | +import java.sql.ResultSet; | |
| 4 | +import java.sql.SQLException; | |
| 5 | +import java.text.SimpleDateFormat; | |
| 6 | +import java.util.ArrayList; | |
| 7 | +import java.util.HashMap; | |
| 8 | +import java.util.Iterator; | |
| 9 | +import java.util.List; | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +import com.bsth.data.BasicData; | |
| 13 | +import com.bsth.entity.calc.CalcWaybill; | |
| 14 | +import com.bsth.entity.calc.CalcInvestigateMonth; | |
| 15 | +import com.bsth.entity.mcy_forms.Singledata; | |
| 16 | +import com.bsth.repository.calc.CalcInvestigateMonthRepository; | |
| 17 | +import com.bsth.repository.calc.CalcWaybillRepository; | |
| 18 | +import com.bsth.service.LineService; | |
| 19 | +import com.bsth.service.calc.CalcMixService; | |
| 20 | +import com.bsth.util.Arith; | |
| 21 | +import com.bsth.util.ReportUtils; | |
| 22 | + | |
| 23 | +import org.slf4j.Logger; | |
| 24 | +import org.slf4j.LoggerFactory; | |
| 25 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 26 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 27 | +import org.springframework.jdbc.core.RowMapper; | |
| 28 | +import org.springframework.stereotype.Service; | |
| 29 | + | |
| 30 | +/** | |
| 31 | + * Created by 19/02/28. | |
| 32 | + */ | |
| 33 | +@Service | |
| 34 | +public class CalcMixServiceImpl implements CalcMixService { | |
| 35 | + | |
| 36 | + @Autowired | |
| 37 | + private CalcWaybillRepository calcRepository; | |
| 38 | + | |
| 39 | + @Autowired | |
| 40 | + private CalcInvestigateMonthRepository calcInvestigateMonthRepository; | |
| 41 | + | |
| 42 | + @Autowired | |
| 43 | + private LineService lineService; | |
| 44 | + | |
| 45 | + @Autowired | |
| 46 | + JdbcTemplate jdbcTemplate; | |
| 47 | + | |
| 48 | + | |
| 49 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 50 | + | |
| 51 | + | |
| 52 | + @Override | |
| 53 | + public List<Map<String, Object>> calcjsyspy(String line, String date, String date2, | |
| 54 | + String empnames, String cont, String gsdm, String fgsdm) { | |
| 55 | + | |
| 56 | + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 57 | + List<CalcWaybill> list = null; | |
| 58 | + | |
| 59 | + int flag = 0; | |
| 60 | + if("驾驶员".equals(empnames)){ | |
| 61 | + flag = 1; | |
| 62 | + list = calcRepository.scheduleByJsy(line, date, date2, gsdm, fgsdm, cont); | |
| 63 | + } else if("售票员".equals(empnames)){ | |
| 64 | + flag = 2; | |
| 65 | + list = calcRepository.scheduleBySpy(line, date, date2, gsdm, fgsdm, cont); | |
| 66 | + } else if("车辆自编号".equals(empnames)){ | |
| 67 | + flag = 3; | |
| 68 | + list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont); | |
| 69 | + } | |
| 70 | + | |
| 71 | + List<CalcWaybill> calcList = new ArrayList<CalcWaybill>(); | |
| 72 | + Map<String, CalcWaybill> calcMap = new HashMap<String, CalcWaybill>(); | |
| 73 | + | |
| 74 | + CalcWaybill zjCalc = this.initCalcWaybill(); | |
| 75 | + zjCalc.setjName("合计"); | |
| 76 | + for(CalcWaybill c : list){ | |
| 77 | + String key = ""; | |
| 78 | + if(flag == 1){ | |
| 79 | + if(c.getjGh() != null && c.getjName() != null) | |
| 80 | + key = c.getjGh() + "/" + c.getjName(); | |
| 81 | + } else if(flag == 2){ | |
| 82 | + if(c.getsGh() != null && c.getsName() != null) | |
| 83 | + key = c.getsGh() + "/" + c.getsName(); | |
| 84 | + } else if(flag == 3){ | |
| 85 | + if(c.getCl() != null) | |
| 86 | + key = c.getCl(); | |
| 87 | + } | |
| 88 | + | |
| 89 | + if(key.trim().length() == 0 || "/".equals(key)) | |
| 90 | + continue; | |
| 91 | + | |
| 92 | + CalcWaybill calc = null; | |
| 93 | + if(calcMap.containsKey(key)){ | |
| 94 | + calc = calcMap.get(key); | |
| 95 | + } else { | |
| 96 | + calc = this.initCalcWaybill(); | |
| 97 | + calc.setjName(key); | |
| 98 | + calcList.add(calc); | |
| 99 | + calcMap.put(key, calc); | |
| 100 | + } | |
| 101 | + | |
| 102 | + this.summation(calc, c); | |
| 103 | + | |
| 104 | + this.summation(zjCalc, c); | |
| 105 | + | |
| 106 | + } | |
| 107 | + calcList.add(zjCalc); | |
| 108 | + calcMap.put("合计", zjCalc); | |
| 109 | + | |
| 110 | + for(CalcWaybill c : calcList){ | |
| 111 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 112 | + m.put("jName", c.getjName()); | |
| 113 | + m.put("jhyybc", c.getJhyybc()); | |
| 114 | + m.put("jhfyybc", c.getJhfyybc()); | |
| 115 | + m.put("sjyybc", c.getSjyybc()); | |
| 116 | + m.put("sjfyybc", c.getSjfyybc()); | |
| 117 | + m.put("lbbc", c.getLbbc()); | |
| 118 | + m.put("ljbc", c.getLjbc()); | |
| 119 | + m.put("jhzlc", Arith.add(c.getJhyylc(), c.getJhfyylc())); | |
| 120 | + m.put("jhyylc", c.getJhyylc()); | |
| 121 | + m.put("jhfyylc", c.getJhfyylc()); | |
| 122 | + m.put("sjzlc", Arith.add(c.getSjyylc(), c.getSjfyylc())); | |
| 123 | + m.put("sjyylc", c.getSjyylc()); | |
| 124 | + m.put("sjfyylc", c.getSjfyylc()); | |
| 125 | + m.put("lblc", c.getLblc()); | |
| 126 | + m.put("ljyylc", c.getLjyylc()); | |
| 127 | + m.put("ljfyylc", c.getLjfyylc()); | |
| 128 | + resList.add(m); | |
| 129 | + } | |
| 130 | + | |
| 131 | + return resList; | |
| 132 | + } | |
| 133 | + | |
| 134 | + public CalcWaybill initCalcWaybill(){ | |
| 135 | + CalcWaybill calc = new CalcWaybill(); | |
| 136 | + calc.setJhyybc(0); | |
| 137 | + calc.setJhyylc(0d); | |
| 138 | + calc.setJhfyybc(0); | |
| 139 | + calc.setJhfyylc(0d); | |
| 140 | + calc.setSjyybc(0); | |
| 141 | + calc.setSjyylc(0d); | |
| 142 | + calc.setSjfyybc(0); | |
| 143 | + calc.setSjfyylc(0d); | |
| 144 | + calc.setLbbc(0); | |
| 145 | + calc.setLblc(0d); | |
| 146 | + calc.setLjbc(0); | |
| 147 | + calc.setLjyylc(0d); | |
| 148 | + calc.setLjfyylc(0d); | |
| 149 | + return calc; | |
| 150 | + } | |
| 151 | + | |
| 152 | + public CalcWaybill summation(CalcWaybill c1, CalcWaybill c2){ | |
| 153 | + c1.setJhyybc(c1.getJhyybc() + c2.getJhyybc()); | |
| 154 | + c1.setJhyylc(Arith.add(c1.getJhyylc(), c2.getJhyylc())); | |
| 155 | + c1.setJhfyybc(c1.getJhfyybc() + c2.getJhfyybc()); | |
| 156 | + c1.setJhfyylc(Arith.add(c1.getJhfyylc(), c2.getJhfyylc())); | |
| 157 | + c1.setSjyybc(c1.getSjyybc() + c2.getSjyybc()); | |
| 158 | + c1.setSjyylc(Arith.add(c1.getSjyylc(), c2.getSjyylc())); | |
| 159 | + c1.setSjyylc(Arith.add(c1.getSjyylc(), c2.getLjyylc())); | |
| 160 | + c1.setSjfyybc(c1.getSjfyybc() + c2.getSjfyybc()); | |
| 161 | + c1.setSjfyylc(Arith.add(c1.getSjfyylc(), c2.getSjfyylc())); | |
| 162 | + c1.setSjfyylc(Arith.add(c1.getSjfyylc(), c2.getLjfyylc())); | |
| 163 | + c1.setLbbc(c1.getLbbc() + c2.getLbbc()); | |
| 164 | + c1.setLblc(Arith.add(c1.getLblc(), c2.getLblc())); | |
| 165 | + c1.setLjbc(c1.getLjbc() + c2.getLjbc()); | |
| 166 | + c1.setLjyylc(Arith.add(c1.getLjyylc(), c2.getLjyylc())); | |
| 167 | + c1.setLjfyylc(Arith.add(c1.getLjfyylc(), c2.getLjfyylc())); | |
| 168 | + return c1; | |
| 169 | + } | |
| 170 | + | |
| 171 | + @Override | |
| 172 | + public List<Map<String, Object>> singledatatj(String line, | |
| 173 | + String date, String date2, | |
| 174 | + String tjtype, String cont, | |
| 175 | + String gsdm, String fgsdm, String sfdc) { | |
| 176 | + | |
| 177 | + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 178 | + List<CalcWaybill> list = null; | |
| 179 | + | |
| 180 | + int flag = 0; | |
| 181 | + if("驾驶员".equals(tjtype)){ | |
| 182 | + flag = 1; | |
| 183 | + list = calcRepository.scheduleByJsy(line, date, date2, gsdm, fgsdm, cont); | |
| 184 | + } else if("售票员".equals(tjtype)){ | |
| 185 | + flag = 2; | |
| 186 | + list = calcRepository.scheduleBySpy(line, date, date2, gsdm, fgsdm, cont); | |
| 187 | + } else if("车辆自编号".equals(tjtype)){ | |
| 188 | + flag = 3; | |
| 189 | + if("1".equals(sfdc)){ | |
| 190 | + list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont, true); | |
| 191 | + } else if("0".equals(sfdc)){ | |
| 192 | + list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont, false); | |
| 193 | + } else { | |
| 194 | + list = calcRepository.scheduleByZbh(line, date, date2, gsdm, fgsdm, cont); | |
| 195 | + } | |
| 196 | + } | |
| 197 | + | |
| 198 | + List<CalcWaybill> calcList = new ArrayList<CalcWaybill>(); | |
| 199 | + Map<String, CalcWaybill> calcMap = new HashMap<String, CalcWaybill>(); | |
| 200 | + | |
| 201 | + CalcWaybill zjCalc = this.initCalcWaybill(); | |
| 202 | + zjCalc.setjName("合计"); | |
| 203 | + for(CalcWaybill c : list){ | |
| 204 | + String key = ""; | |
| 205 | + if(flag == 1){ | |
| 206 | + if(c.getjGh() != null && c.getjName() != null) | |
| 207 | + key += c.getjGh() + "/" + c.getjName(); | |
| 208 | + } else if(flag == 2){ | |
| 209 | + if(c.getsGh() != null && c.getsName() != null) | |
| 210 | + key += c.getsGh() + "/" + c.getsName(); | |
| 211 | + } else if(flag == 3){ | |
| 212 | + if(c.getCl() != null) | |
| 213 | + key += c.getCl(); | |
| 214 | + } | |
| 215 | + | |
| 216 | + if(key.trim().length() == 0 || "/".equals(key)) | |
| 217 | + continue; | |
| 218 | + | |
| 219 | + String jName = key; | |
| 220 | + key = c.getXl() + "/" + key; | |
| 221 | + | |
| 222 | + CalcWaybill calc = null; | |
| 223 | + if(calcMap.containsKey(key)){ | |
| 224 | + calc = calcMap.get(key); | |
| 225 | + } else { | |
| 226 | + calc = this.initCalcWaybill(); | |
| 227 | + calc.setXlName(c.getXlName()); | |
| 228 | + calc.setXl(c.getXl()); | |
| 229 | + calc.setjName(jName); | |
| 230 | + calcList.add(calc); | |
| 231 | + calcMap.put(key, calc); | |
| 232 | + } | |
| 233 | + | |
| 234 | + this.summation(calc, c); | |
| 235 | + | |
| 236 | + this.summation(zjCalc, c); | |
| 237 | + | |
| 238 | + } | |
| 239 | + calcList.add(zjCalc); | |
| 240 | + calcMap.put("合计", zjCalc); | |
| 241 | + | |
| 242 | + Map<String, Map<String, Object>> keyMap = new HashMap<String, Map<String, Object>>(); | |
| 243 | + for(CalcWaybill c : calcList){ | |
| 244 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 245 | + m.put("gS", BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 246 | + m.put("xl", c.getXl()); | |
| 247 | + m.put("xlName", c.getXlName()); | |
| 248 | + m.put("jName", c.getjName()); | |
| 249 | + m.put("jhyybc", c.getJhyybc()); | |
| 250 | + m.put("jhfyybc", c.getJhfyybc()); | |
| 251 | + m.put("sjyybc", c.getSjyybc()); | |
| 252 | + m.put("sjfyybc", c.getSjfyybc()); | |
| 253 | + m.put("lbbc", c.getLbbc()); | |
| 254 | + m.put("ljbc", c.getLjbc()); | |
| 255 | + m.put("jhzlc", Arith.add(c.getJhyylc(), c.getJhfyylc())); | |
| 256 | + m.put("jhyylc", c.getJhyylc()); | |
| 257 | + m.put("jhfyylc", c.getJhfyylc()); | |
| 258 | + m.put("sjzlc", Arith.add(c.getSjyylc(), c.getSjfyylc())); | |
| 259 | + m.put("sjyylc", c.getSjyylc()); | |
| 260 | + m.put("sjfyylc", c.getSjfyylc()); | |
| 261 | + m.put("lblc", c.getLblc()); | |
| 262 | + m.put("ljyylc", c.getLjyylc()); | |
| 263 | + m.put("ljfyylc", c.getLjfyylc()); | |
| 264 | + if(flag != 2){ | |
| 265 | + m.put("hyl", 0); | |
| 266 | + m.put("jzl", 0); | |
| 267 | + m.put("sh", 0); | |
| 268 | + } | |
| 269 | + resList.add(m); | |
| 270 | + keyMap.put(c.getXl() + "/" + c.getjName(), m); | |
| 271 | + } | |
| 272 | + | |
| 273 | + List<String> objList = new ArrayList<String>(); | |
| 274 | + String nysql="SELECT id,xlbm,nbbm,jsy,jzl as jzl,yh as yh,sh as sh,fgsdm FROM bsth_c_ylb" | |
| 275 | + + " WHERE rq >= ? and rq <= ? "; | |
| 276 | + objList.add(date); | |
| 277 | + objList.add(date2); | |
| 278 | + if(!line.equals("")){ | |
| 279 | + nysql += " and xlbm = ? "; | |
| 280 | + objList.add(line); | |
| 281 | + } | |
| 282 | + if(!gsdm.equals("")){ | |
| 283 | + nysql += " and ssgsdm = ? "; | |
| 284 | + objList.add(gsdm); | |
| 285 | + } | |
| 286 | + if(!fgsdm.equals("")){ | |
| 287 | + nysql += " and fgsdm = ? "; | |
| 288 | + objList.add(fgsdm); | |
| 289 | + } | |
| 290 | + nysql += " union " | |
| 291 | + + " SELECT id,xlbm,nbbm,jsy,cdl as jzl,hd as yh,sh as sh,fgsdm FROM bsth_c_dlb" | |
| 292 | + + " WHERE rq >= ? and rq <= ? "; | |
| 293 | + objList.add(date); | |
| 294 | + objList.add(date2); | |
| 295 | + if(!line.equals("")){ | |
| 296 | + nysql += " and xlbm = ? "; | |
| 297 | + objList.add(line); | |
| 298 | + } | |
| 299 | + if(!gsdm.equals("")){ | |
| 300 | + nysql += " and ssgsdm = ? "; | |
| 301 | + objList.add(gsdm); | |
| 302 | + } | |
| 303 | + if(!fgsdm.equals("")){ | |
| 304 | + nysql += " and fgsdm = ? "; | |
| 305 | + objList.add(fgsdm); | |
| 306 | + } | |
| 307 | + | |
| 308 | + List<Singledata> listNy = jdbcTemplate.query(nysql, objList.toArray(), new RowMapper<Singledata>() { | |
| 309 | + @Override | |
| 310 | + public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 311 | + Singledata sin = new Singledata(); | |
| 312 | + sin.setxL(arg0.getString("xlbm")); | |
| 313 | + sin.setJsy(arg0.getString("jsy")); | |
| 314 | + sin.setClzbh(arg0.getString("nbbm")); | |
| 315 | + sin.setJzl(arg0.getString("jzl")); | |
| 316 | + sin.setHyl(arg0.getString("yh")); | |
| 317 | + sin.setUnyyyl(arg0.getString("sh")); | |
| 318 | + sin.setgS(arg0.getString("fgsdm")); | |
| 319 | + return sin; | |
| 320 | + } | |
| 321 | + }); | |
| 322 | + | |
| 323 | + if(flag != 2){ | |
| 324 | + Map<String, Object> last = resList.get(resList.size()-1); | |
| 325 | + last.put("hyl", 0); | |
| 326 | + last.put("jzl", 0); | |
| 327 | + last.put("sh", 0); | |
| 328 | + | |
| 329 | + //统计油,电表中手动添加的或者有加注没里程的数据 | |
| 330 | + for (int i = 0; i < listNy.size(); i++) { | |
| 331 | + Singledata sin_=listNy.get(i); | |
| 332 | + String xl=sin_.getxL(); | |
| 333 | + String str = ""; | |
| 334 | + if(flag == 1){ | |
| 335 | + if(sin_.getjName() != null && sin_.getjName().length() > 0){ | |
| 336 | + str = sin_.getJsy() + "/" + sin_.getjName(); | |
| 337 | + } else { | |
| 338 | + str = sin_.getJsy() + "/" + BasicData.allPerson.get(gsdm+"-"+sin_.getJsy()); | |
| 339 | + } | |
| 340 | + } else { | |
| 341 | + str = sin_.getClzbh(); | |
| 342 | + } | |
| 343 | +// boolean fages=true; | |
| 344 | + if(keyMap.containsKey(xl + "/" + str)){ | |
| 345 | + Map<String, Object> m = keyMap.get(xl + "/" + str); | |
| 346 | + m.put("hyl", Arith.add(m.get("hyl"), sin_.getHyl()!=null?sin_.getHyl():0)); | |
| 347 | + m.put("jzl", Arith.add(m.get("jzl"), sin_.getJzl()!=null?sin_.getJzl():0)); | |
| 348 | + m.put("sh", Arith.add(m.get("sh"), sin_.getUnyyyl()!=null?sin_.getUnyyyl():0)); | |
| 349 | + last.put("hyl", Arith.add(last.get("hyl"), sin_.getHyl()!=null?sin_.getHyl():0)); | |
| 350 | + last.put("jzl", Arith.add(last.get("jzl"), sin_.getJzl()!=null?sin_.getJzl():0)); | |
| 351 | + last.put("sh", Arith.add(last.get("sh"), sin_.getUnyyyl()!=null?sin_.getUnyyyl():0)); | |
| 352 | + } else { | |
| 353 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 354 | + m.put("gS", BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 355 | + m.put("xl", xl); | |
| 356 | + m.put("xlName", BasicData.lineCodeAllNameMap.get(xl)); | |
| 357 | + m.put("jName", str); | |
| 358 | + m.put("jhzlc", 0); | |
| 359 | + m.put("sjzlc", 0); | |
| 360 | + m.put("sjfyylc", 0); | |
| 361 | + m.put("hyl", sin_.getHyl()!=null?sin_.getHyl():0); | |
| 362 | + m.put("jzl", sin_.getJzl()!=null?sin_.getJzl():0); | |
| 363 | + m.put("sh", sin_.getUnyyyl()!=null?sin_.getUnyyyl():0); | |
| 364 | + last.put("hyl", Arith.add(last.get("hyl"), m.get("hyl"))); | |
| 365 | + last.put("jzl", Arith.add(last.get("jzl"), m.get("jzl"))); | |
| 366 | + last.put("sh", Arith.add(last.get("sh"), m.get("sh"))); | |
| 367 | + | |
| 368 | + keyMap.put(xl + "/" + str, m); | |
| 369 | + } | |
| 370 | + } | |
| 371 | + resList.remove(last); | |
| 372 | + resList.add(last); | |
| 373 | + | |
| 374 | + for(Map<String, Object> m : resList){ | |
| 375 | + if(m.containsKey("hyl") && m.get("hyl").toString().length() > 0){ | |
| 376 | + m.put("hyl", Arith.round(m.get("hyl"), 3)); | |
| 377 | + } | |
| 378 | + if(m.containsKey("jzl") && m.get("jzl").toString().length() > 0){ | |
| 379 | + m.put("jzl", Arith.round(m.get("jzl"), 3)); | |
| 380 | + } | |
| 381 | + if(m.containsKey("sh") && m.get("sh").toString().length() > 0){ | |
| 382 | + m.put("sh", Arith.round(m.get("sh"), 3)); | |
| 383 | + } | |
| 384 | + } | |
| 385 | + } | |
| 386 | + | |
| 387 | + return resList; | |
| 388 | + } | |
| 389 | + | |
| 390 | + //浦东公交线路调查表 | |
| 391 | + @Override | |
| 392 | + public List<CalcInvestigateMonth> calcInvestigateMonth(String gsbm, String fgsbm, String month, String line, | |
| 393 | + String xlName, String nature, String type) { | |
| 394 | + List<CalcInvestigateMonth> resList = new ArrayList<CalcInvestigateMonth>(); | |
| 395 | + | |
| 396 | + Map<String, Boolean> lineNature = lineService.lineNature(); | |
| 397 | + | |
| 398 | + List<CalcInvestigateMonth> list = new ArrayList<CalcInvestigateMonth>(); | |
| 399 | + if(line != null && line.length() > 0){ | |
| 400 | + list = calcInvestigateMonthRepository.findByMonthAndLine(month, line); | |
| 401 | + } else if(gsbm != null && gsbm.length() > 0){ | |
| 402 | + list = calcInvestigateMonthRepository.findByMonth(month, gsbm, fgsbm); | |
| 403 | + } else { | |
| 404 | + list = calcInvestigateMonthRepository.findByMonth(month); | |
| 405 | + } | |
| 406 | + | |
| 407 | + for(CalcInvestigateMonth c : list){ | |
| 408 | + c.setGsName(BasicData.businessCodeNameMap.get(c.getGsbm())); | |
| 409 | + c.setFgsName(BasicData.businessFgsCodeNameMap.get(String.format("%s_%s", c.getGsbm(), c.getFgsbm()))); | |
| 410 | + if("1".equals(nature)){ | |
| 411 | + if(lineNature.containsKey(c.getXl()) && lineNature.get(c.getXl())){ | |
| 412 | + resList.add(c); | |
| 413 | + } | |
| 414 | + } else if("2".equals(nature)){ | |
| 415 | + if(!lineNature.containsKey(c.getXl()) || !lineNature.get(c.getXl())){ | |
| 416 | + resList.add(c); | |
| 417 | + } | |
| 418 | + } else { | |
| 419 | + resList.add(c); | |
| 420 | + } | |
| 421 | + } | |
| 422 | + | |
| 423 | + if (type != null && type.length() != 0 && type.equals("export")) { | |
| 424 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | |
| 425 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"), | |
| 426 | + monSimple = new SimpleDateFormat("yyyy-MM"); | |
| 427 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 428 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 429 | + m.put("date", month); | |
| 430 | + m.put("currMonth", "(" + month + ")"); | |
| 431 | + ReportUtils ee = new ReportUtils(); | |
| 432 | + try { | |
| 433 | + List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | |
| 434 | + int row = 0; | |
| 435 | + for(CalcInvestigateMonth c : resList){ | |
| 436 | + Map<String, Object> map = new HashMap<String, Object>(); | |
| 437 | + map.put("row", ++row); | |
| 438 | + map.put("xlmc", c.getXlmc()!=null?c.getXlmc():""); | |
| 439 | + map.put("qzpcs", c.getQzpcs()!=null?c.getQzpcs():""); | |
| 440 | + map.put("xlsx", c.getXlsx()!=null?c.getXlsx():""); | |
| 441 | + map.put("xllx", c.getXllx()!=null?c.getXllx():""); | |
| 442 | + map.put("xlcd", c.getXlcd()!=null?c.getXlcd():""); | |
| 443 | + map.put("sfgp", c.getSfgp()!=null?c.getSfgp():""); | |
| 444 | + map.put("sflpxl", c.getSflpxl()!=null?c.getSflpxl():""); | |
| 445 | + map.put("smbsj", c.getSmbsj()!=null?c.getSmbsj():""); | |
| 446 | + if("常规".equals(c.getDdfs())){ | |
| 447 | + map.put("ddfsCg", "√"); | |
| 448 | + map.put("ddfsDyh", ""); | |
| 449 | + } else if("多样化".equals(c.getDdfs())){ | |
| 450 | + map.put("ddfsCg", ""); | |
| 451 | + map.put("ddfsDyh", "√"); | |
| 452 | + } else { | |
| 453 | + map.put("ddfsCg", ""); | |
| 454 | + map.put("ddfsDyh", ""); | |
| 455 | + } | |
| 456 | + map.put("gfjgsj", c.getGfjgsj()!=null?c.getGfjgsj():""); | |
| 457 | + map.put("dgjgsj", c.getDgjgsj()!=null?c.getDgjgsj():""); | |
| 458 | + map.put("sfxjgj", c.getSfxjgj()!=null?c.getSfxjgj():""); | |
| 459 | + map.put("rjlc", c.getRjlc()!=null?c.getRjlc():""); | |
| 460 | + map.put("rjbc", c.getRjbc()!=null?c.getRjbc():""); | |
| 461 | + map.put("rjrc", c.getRjrc()!=null?c.getRjrc():""); | |
| 462 | + map.put("rjdcrc", c.getRjdcrc()!=null?c.getRjdcrc():""); | |
| 463 | + map.put("mbcrc", c.getMbcrc()!=null?c.getMbcrc():""); | |
| 464 | + map.put("jhzgl", c.getJhzgl()!=null?c.getJhzgl():""); | |
| 465 | + map.put("sjzgl", c.getSjzgl()!=null?c.getSjzgl():""); | |
| 466 | + map.put("sjyylc", c.getSjyylc()!=null?c.getSjyylc():""); | |
| 467 | + map.put("lclyl", c.getLclyl()!=null?c.getLclyl():""); | |
| 468 | + map.put("bglrc", c.getBglrc()!=null?c.getBglrc():""); | |
| 469 | + map.put("yrc", c.getYrc()!=null?c.getYrc():""); | |
| 470 | + map.put("yys", c.getYys()!=null?c.getYys():""); | |
| 471 | + map.put("pj", c.getPj()!=null?c.getPj():""); | |
| 472 | + map.put("bglys", c.getBglys()!=null?c.getBglys():""); | |
| 473 | + map.put("tjgjz", c.getTjgjz()!=null?c.getTjgjz():""); | |
| 474 | + map.put("tjsjyy", c.getTjsjyy()!=null?c.getTjsjyy():""); | |
| 475 | + map.put("wyx", c.getWyx()!=null?c.getWyx():""); | |
| 476 | + map.put("xlzx", c.getXlzx()!=null?c.getXlzx():""); | |
| 477 | + map.put("xlzd", c.getXlzd()!=null?c.getXlzd():""); | |
| 478 | + map.put("bz", c.getBz()!=null?c.getBz():""); | |
| 479 | + map.put("qqz", c.getQqz()!=null?c.getQqz():""); | |
| 480 | + map.put("gsName", BasicData.businessCodeNameMap.get(c.getGsbm())); | |
| 481 | + map.put("fgsName", BasicData.businessFgsCodeNameMap.get(String.format("%s_%s", c.getGsbm(), c.getFgsbm()))); | |
| 482 | + mapList.add(map); | |
| 483 | + } | |
| 484 | + listI.add(mapList.iterator()); | |
| 485 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | |
| 486 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/calcInvestigateMonth.xls", | |
| 487 | + path + "export/" + "浦东公交线路调查表"+month+".xls"); | |
| 488 | + } catch (Exception e) { | |
| 489 | + // TODO: handle exception | |
| 490 | + e.printStackTrace(); | |
| 491 | + logger.info("" , e); | |
| 492 | + } | |
| 493 | + } | |
| 494 | + return resList; | |
| 495 | + } | |
| 496 | + | |
| 497 | +} | ... | ... |
src/main/java/com/bsth/service/forms/impl/CommonServiceImpl.java
| 1 | -package com.bsth.service.forms.impl; | |
| 2 | - | |
| 3 | -import java.text.DecimalFormat; | |
| 4 | -import java.util.HashMap; | |
| 5 | -import java.util.Iterator; | |
| 6 | -import java.util.List; | |
| 7 | -import java.util.Map; | |
| 8 | -import java.util.Set; | |
| 9 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | -import org.springframework.stereotype.Service; | |
| 11 | -import com.bsth.entity.realcontrol.ChildTaskPlan; | |
| 12 | -import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 13 | -import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | |
| 14 | -import com.bsth.service.forms.CommonService; | |
| 15 | - | |
| 16 | -@Service | |
| 17 | -public class CommonServiceImpl implements CommonService{ | |
| 18 | - | |
| 19 | - | |
| 20 | - @Autowired | |
| 21 | - ScheduleRealInfoRepository scheduleRealInfoRepository; | |
| 22 | - | |
| 23 | - @Override | |
| 24 | - public Map<String, Object> findKMBC1(String jName, String clZbh, | |
| 25 | - String date, String enddate) { | |
| 26 | - | |
| 27 | - String sql=" select s from s " | |
| 28 | - + " where s.j_gh ='" + jName + "' and s.cl_zbh ='" + clZbh + "' and " | |
| 29 | - + " to_days(s.schedule_date) BETWEEN to_days('" + date + "') and to_days('" + enddate + "')" | |
| 30 | - + " order by bcs"; | |
| 31 | - | |
| 32 | - | |
| 33 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill4(jName, clZbh, date, enddate); | |
| 34 | - DecimalFormat format = new DecimalFormat("0.00"); | |
| 35 | -// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | |
| 36 | -// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | |
| 37 | - int jhbc = 0,cjbc = 0,ljbc = 0; | |
| 38 | - double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0; | |
| 39 | - float addMileage = 0l,remMileage = 0l; | |
| 40 | - Map<String,Object> map = new HashMap<String, Object>(); | |
| 41 | - for(ScheduleRealInfo scheduleRealInfo : list){ | |
| 42 | - if(scheduleRealInfo != null){ | |
| 43 | - //计划里程(主任务过滤掉临加班次), | |
| 44 | - //烂班里程(主任务烂班), | |
| 45 | - //临加里程(主任务临加), | |
| 46 | - //计划班次,烂班班次,增加班次 | |
| 47 | - tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | |
| 48 | - if(scheduleRealInfo.isSflj()){ | |
| 49 | - addMileage += tempJhlc; | |
| 50 | - ljbc++; | |
| 51 | - }else{ | |
| 52 | - jhlc += tempJhlc; | |
| 53 | - jhbc++; | |
| 54 | - if(scheduleRealInfo.getStatus() == -1){ | |
| 55 | - remMileage += tempJhlc; | |
| 56 | - cjbc++; | |
| 57 | - } | |
| 58 | - } | |
| 59 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 60 | - //计算营运里程,空驶里程 | |
| 61 | - if(childTaskPlans.isEmpty()){ | |
| 62 | - if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | |
| 63 | - || scheduleRealInfo.getBcType().equals("venting")){ | |
| 64 | - ksgl += tempJhlc; | |
| 65 | - }else{ | |
| 66 | - yygl += tempJhlc; | |
| 67 | - } | |
| 68 | - }else{ | |
| 69 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 70 | - while(it.hasNext()){ | |
| 71 | - ChildTaskPlan childTaskPlan = it.next(); | |
| 72 | - if(childTaskPlan.getMileageType().equals("empty")){ | |
| 73 | - ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 74 | - }else{ | |
| 75 | - yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 76 | - } | |
| 77 | - } | |
| 78 | - } | |
| 79 | - } | |
| 80 | - } | |
| 81 | - map.put("jhlc", format.format(jhlc)); | |
| 82 | - map.put("remMileage", format.format(remMileage)); | |
| 83 | - map.put("addMileage", format.format(addMileage)); | |
| 84 | - map.put("yygl", format.format(yygl)); | |
| 85 | - map.put("ksgl", format.format(ksgl)); | |
| 86 | - map.put("realMileage", format.format(yygl+ksgl)); | |
| 87 | - map.put("jhbc", jhbc); | |
| 88 | - map.put("cjbc", cjbc); | |
| 89 | - map.put("ljbc", ljbc); | |
| 90 | - map.put("sjbc", jhbc-cjbc+ljbc); | |
| 91 | - return map; | |
| 92 | - } | |
| 93 | - | |
| 94 | - | |
| 95 | - @Override | |
| 96 | - public Map<String, Object> findKMBC2(String jName, String clZbh,String date) { | |
| 97 | - | |
| 98 | - String sql=" select s from bsth_c_s_sp_info_real s " | |
| 99 | - + " where s.j_gh ='" + jName + "' and s.cl_zbh ='" + clZbh + "' and " | |
| 100 | - + " to_days(s.schedule_date) =to_days('" + date + "')" | |
| 101 | - + " order by bcs"; | |
| 102 | - | |
| 103 | - | |
| 104 | - List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill3(jName, clZbh , date,"",""); | |
| 105 | - | |
| 106 | - DecimalFormat format = new DecimalFormat("0.00"); | |
| 107 | -// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | |
| 108 | -// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | |
| 109 | - int jhbc = 0,cjbc = 0,ljbc = 0; | |
| 110 | - double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0; | |
| 111 | - float addMileage = 0l,remMileage = 0l; | |
| 112 | - String j_Name=""; | |
| 113 | - Map<String,Object> map = new HashMap<String, Object>(); | |
| 114 | - for(ScheduleRealInfo scheduleRealInfo : list){ | |
| 115 | - if(scheduleRealInfo != null){ | |
| 116 | - j_Name=scheduleRealInfo.getjName(); | |
| 117 | - //计划里程(主任务过滤掉临加班次), | |
| 118 | - //烂班里程(主任务烂班), | |
| 119 | - //临加里程(主任务临加), | |
| 120 | - //计划班次,烂班班次,增加班次 | |
| 121 | - tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | |
| 122 | - if(scheduleRealInfo.isSflj()){ | |
| 123 | - addMileage += tempJhlc; | |
| 124 | - ljbc++; | |
| 125 | - }else{ | |
| 126 | - jhlc += tempJhlc; | |
| 127 | - jhbc++; | |
| 128 | - if(scheduleRealInfo.getStatus() == -1){ | |
| 129 | - remMileage += tempJhlc; | |
| 130 | - cjbc++; | |
| 131 | - } | |
| 132 | - } | |
| 133 | - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 134 | - //计算营运里程,空驶里程 | |
| 135 | - if(childTaskPlans.isEmpty()){ | |
| 136 | - if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | |
| 137 | - || scheduleRealInfo.getBcType().equals("venting")){ | |
| 138 | - ksgl += tempJhlc; | |
| 139 | - }else{ | |
| 140 | - yygl += tempJhlc; | |
| 141 | - } | |
| 142 | - }else{ | |
| 143 | - Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 144 | - while(it.hasNext()){ | |
| 145 | - ChildTaskPlan childTaskPlan = it.next(); | |
| 146 | - if(childTaskPlan.getMileageType().equals("empty")){ | |
| 147 | - ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 148 | - }else{ | |
| 149 | - yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 150 | - } | |
| 151 | - } | |
| 152 | - } | |
| 153 | - } | |
| 154 | - } | |
| 155 | - map.put("j_name", j_Name); | |
| 156 | - map.put("jhlc", format.format(jhlc)); | |
| 157 | - map.put("remMileage", format.format(remMileage)); | |
| 158 | - map.put("addMileage", format.format(addMileage)); | |
| 159 | - map.put("yygl", format.format(yygl)); | |
| 160 | - map.put("ksgl", format.format(ksgl)); | |
| 161 | - map.put("realMileage", format.format(yygl+ksgl)); | |
| 162 | - map.put("jhbc", jhbc); | |
| 163 | - map.put("cjbc", cjbc); | |
| 164 | - map.put("ljbc", ljbc); | |
| 165 | - map.put("sjbc", jhbc-cjbc+ljbc); | |
| 166 | - return map; | |
| 167 | - } | |
| 168 | - | |
| 169 | - | |
| 170 | - | |
| 171 | - | |
| 172 | -} | |
| 1 | +package com.bsth.service.forms.impl; | |
| 2 | + | |
| 3 | +import java.text.DecimalFormat; | |
| 4 | +import java.util.HashMap; | |
| 5 | +import java.util.Iterator; | |
| 6 | +import java.util.List; | |
| 7 | +import java.util.Map; | |
| 8 | +import java.util.Set; | |
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | +import org.springframework.stereotype.Service; | |
| 11 | +import com.bsth.entity.realcontrol.ChildTaskPlan; | |
| 12 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | |
| 13 | +import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | |
| 14 | +import com.bsth.service.forms.CommonService; | |
| 15 | + | |
| 16 | +@Service | |
| 17 | +public class CommonServiceImpl implements CommonService{ | |
| 18 | + | |
| 19 | + | |
| 20 | + @Autowired | |
| 21 | + ScheduleRealInfoRepository scheduleRealInfoRepository; | |
| 22 | + | |
| 23 | + @Override | |
| 24 | + public Map<String, Object> findKMBC1(String jName, String clZbh, | |
| 25 | + String date, String enddate) { | |
| 26 | + | |
| 27 | + | |
| 28 | + List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill4(jName, clZbh, date, enddate); | |
| 29 | + DecimalFormat format = new DecimalFormat("0.00"); | |
| 30 | +// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | |
| 31 | +// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | |
| 32 | + int jhbc = 0,cjbc = 0,ljbc = 0; | |
| 33 | + double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0; | |
| 34 | + float addMileage = 0l,remMileage = 0l; | |
| 35 | + Map<String,Object> map = new HashMap<String, Object>(); | |
| 36 | + for(ScheduleRealInfo scheduleRealInfo : list){ | |
| 37 | + if(scheduleRealInfo != null){ | |
| 38 | + //计划里程(主任务过滤掉临加班次), | |
| 39 | + //烂班里程(主任务烂班), | |
| 40 | + //临加里程(主任务临加), | |
| 41 | + //计划班次,烂班班次,增加班次 | |
| 42 | + tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | |
| 43 | + if(scheduleRealInfo.isSflj()){ | |
| 44 | + addMileage += tempJhlc; | |
| 45 | + ljbc++; | |
| 46 | + }else{ | |
| 47 | + jhlc += tempJhlc; | |
| 48 | + jhbc++; | |
| 49 | + if(scheduleRealInfo.getStatus() == -1){ | |
| 50 | + remMileage += tempJhlc; | |
| 51 | + cjbc++; | |
| 52 | + } | |
| 53 | + } | |
| 54 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 55 | + //计算营运里程,空驶里程 | |
| 56 | + if(childTaskPlans.isEmpty()){ | |
| 57 | + if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | |
| 58 | + || scheduleRealInfo.getBcType().equals("venting")){ | |
| 59 | + ksgl += tempJhlc; | |
| 60 | + }else{ | |
| 61 | + yygl += tempJhlc; | |
| 62 | + } | |
| 63 | + }else{ | |
| 64 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 65 | + while(it.hasNext()){ | |
| 66 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 67 | + if(childTaskPlan.getMileageType().equals("empty")){ | |
| 68 | + ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 69 | + }else{ | |
| 70 | + yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 71 | + } | |
| 72 | + } | |
| 73 | + } | |
| 74 | + } | |
| 75 | + } | |
| 76 | + map.put("jhlc", format.format(jhlc)); | |
| 77 | + map.put("remMileage", format.format(remMileage)); | |
| 78 | + map.put("addMileage", format.format(addMileage)); | |
| 79 | + map.put("yygl", format.format(yygl)); | |
| 80 | + map.put("ksgl", format.format(ksgl)); | |
| 81 | + map.put("realMileage", format.format(yygl+ksgl)); | |
| 82 | + map.put("jhbc", jhbc); | |
| 83 | + map.put("cjbc", cjbc); | |
| 84 | + map.put("ljbc", ljbc); | |
| 85 | + map.put("sjbc", jhbc-cjbc+ljbc); | |
| 86 | + return map; | |
| 87 | + } | |
| 88 | + | |
| 89 | + | |
| 90 | + @Override | |
| 91 | + public Map<String, Object> findKMBC2(String jName, String clZbh,String date) { | |
| 92 | + | |
| 93 | + | |
| 94 | + List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill3(jName, clZbh , date,"",""); | |
| 95 | + | |
| 96 | + DecimalFormat format = new DecimalFormat("0.00"); | |
| 97 | +// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); | |
| 98 | +// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); | |
| 99 | + int jhbc = 0,cjbc = 0,ljbc = 0; | |
| 100 | + double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0; | |
| 101 | + float addMileage = 0l,remMileage = 0l; | |
| 102 | + String j_Name=""; | |
| 103 | + Map<String,Object> map = new HashMap<String, Object>(); | |
| 104 | + for(ScheduleRealInfo scheduleRealInfo : list){ | |
| 105 | + if(scheduleRealInfo != null){ | |
| 106 | + j_Name=scheduleRealInfo.getjName(); | |
| 107 | + //计划里程(主任务过滤掉临加班次), | |
| 108 | + //烂班里程(主任务烂班), | |
| 109 | + //临加里程(主任务临加), | |
| 110 | + //计划班次,烂班班次,增加班次 | |
| 111 | + tempJhlc = scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | |
| 112 | + if(scheduleRealInfo.isSflj()){ | |
| 113 | + addMileage += tempJhlc; | |
| 114 | + ljbc++; | |
| 115 | + }else{ | |
| 116 | + jhlc += tempJhlc; | |
| 117 | + jhbc++; | |
| 118 | + if(scheduleRealInfo.getStatus() == -1){ | |
| 119 | + remMileage += tempJhlc; | |
| 120 | + cjbc++; | |
| 121 | + } | |
| 122 | + } | |
| 123 | + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | |
| 124 | + //计算营运里程,空驶里程 | |
| 125 | + if(childTaskPlans.isEmpty()){ | |
| 126 | + if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out") | |
| 127 | + || scheduleRealInfo.getBcType().equals("venting")){ | |
| 128 | + ksgl += tempJhlc; | |
| 129 | + }else{ | |
| 130 | + yygl += tempJhlc; | |
| 131 | + } | |
| 132 | + }else{ | |
| 133 | + Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | |
| 134 | + while(it.hasNext()){ | |
| 135 | + ChildTaskPlan childTaskPlan = it.next(); | |
| 136 | + if(childTaskPlan.getMileageType().equals("empty")){ | |
| 137 | + ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 138 | + }else{ | |
| 139 | + yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); | |
| 140 | + } | |
| 141 | + } | |
| 142 | + } | |
| 143 | + } | |
| 144 | + } | |
| 145 | + map.put("j_name", j_Name); | |
| 146 | + map.put("jhlc", format.format(jhlc)); | |
| 147 | + map.put("remMileage", format.format(remMileage)); | |
| 148 | + map.put("addMileage", format.format(addMileage)); | |
| 149 | + map.put("yygl", format.format(yygl)); | |
| 150 | + map.put("ksgl", format.format(ksgl)); | |
| 151 | + map.put("realMileage", format.format(yygl+ksgl)); | |
| 152 | + map.put("jhbc", jhbc); | |
| 153 | + map.put("cjbc", cjbc); | |
| 154 | + map.put("ljbc", ljbc); | |
| 155 | + map.put("sjbc", jhbc-cjbc+ljbc); | |
| 156 | + return map; | |
| 157 | + } | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | +} | ... | ... |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| ... | ... | @@ -17,6 +17,7 @@ import java.util.List; |
| 17 | 17 | import java.util.Map; |
| 18 | 18 | import java.util.Set; |
| 19 | 19 | |
| 20 | +import org.apache.tomcat.jni.Shm; | |
| 20 | 21 | import org.springframework.beans.factory.annotation.Autowired; |
| 21 | 22 | import org.springframework.jdbc.core.JdbcTemplate; |
| 22 | 23 | import org.springframework.jdbc.core.RowMapper; |
| ... | ... | @@ -88,15 +89,18 @@ public class FormsServiceImpl implements FormsService { |
| 88 | 89 | String line=map.get("line").toString(); |
| 89 | 90 | String date=map.get("date").toString(); |
| 90 | 91 | |
| 92 | + List<String> objList = new ArrayList<String>(); | |
| 91 | 93 | String sql="select " |
| 92 | 94 | + " r.cl_zbh,r.j_gh" |
| 93 | 95 | + " from bsth_c_s_sp_info_real r where " |
| 94 | - + " r.schedule_date_str = '"+date+"'" | |
| 95 | - + " and r.xl_bm = '"+line+"' " | |
| 96 | + + " r.schedule_date_str = ? " | |
| 97 | + + " and r.xl_bm = ? " | |
| 96 | 98 | + " group by " |
| 97 | 99 | + " r.cl_zbh,r.j_gh"; |
| 100 | + objList.add(date); | |
| 101 | + objList.add(line); | |
| 98 | 102 | |
| 99 | - List<Waybillday> list = jdbcTemplate.query(sql, new RowMapper<Waybillday>() { | |
| 103 | + List<Waybillday> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Waybillday>() { | |
| 100 | 104 | |
| 101 | 105 | @Override |
| 102 | 106 | public Waybillday mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -166,8 +170,8 @@ public class FormsServiceImpl implements FormsService { |
| 166 | 170 | } |
| 167 | 171 | } |
| 168 | 172 | w.setJzl(String.valueOf(jzl)); |
| 169 | - w.setYh(String.valueOf(yh)); | |
| 170 | - w.setSh(String.valueOf(sh)); | |
| 173 | + w.setYh(Arith.round(yh, 3)+""); | |
| 174 | + w.setSh(Arith.round(sh, 3)+""); | |
| 171 | 175 | |
| 172 | 176 | } |
| 173 | 177 | |
| ... | ... | @@ -198,9 +202,9 @@ public class FormsServiceImpl implements FormsService { |
| 198 | 202 | way.setJzl1(ksgl.toString()); |
| 199 | 203 | way.setJzl(jzl_.toString()); |
| 200 | 204 | way.setjName(""); |
| 201 | - way.setSh(sh_.toString()); | |
| 205 | + way.setSh(Arith.round(sh_, 3)+""); | |
| 202 | 206 | way.setZlc(lc_.toString()); |
| 203 | - way.setYh(yh_.toString()); | |
| 207 | + way.setYh(Arith.round(yh_, 3)+""); | |
| 204 | 208 | if(list.size() > 0) |
| 205 | 209 | list.add(way); |
| 206 | 210 | |
| ... | ... | @@ -210,26 +214,31 @@ public class FormsServiceImpl implements FormsService { |
| 210 | 214 | // 线路客流量报表 |
| 211 | 215 | @Override |
| 212 | 216 | public List<Linepasswengerflow> linepasswengerflow(Map<String, Object> map) { |
| 217 | + List<String> objList = new ArrayList<String>(); | |
| 213 | 218 | String sql = " SELECT r.schedule_date,s.station_name,l.name,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name" |
| 214 | 219 | + " from bsth_c_stationroute s " |
| 215 | 220 | + " LEFT JOIN bsth_c_line l on s.line_code=l.line_code " |
| 216 | 221 | + " LEFT JOIN bsth_c_s_sp_info_real r on r.xl_bm=l.line_code" |
| 217 | - + " where 1=1 "; | |
| 222 | + + " where 1=1 "; | |
| 218 | 223 | if(map.get("date").toString()!=""){ |
| 219 | - sql+="and r.schedule_date_str='"+map.get("date").toString() + "'"; | |
| 224 | + sql+=" and r.schedule_date_str = ? "; | |
| 225 | + objList.add(map.get("date").toString()); | |
| 220 | 226 | } |
| 221 | 227 | if( map.get("line").toString()!=""){ |
| 222 | - sql+=" and l.line_code=" + map.get("line").toString(); | |
| 228 | + sql+=" and l.line_code = ? "; | |
| 229 | + objList.add(map.get("line").toString()); | |
| 223 | 230 | } |
| 224 | - sql+= " AND r.gs_bm is not null"; | |
| 231 | + sql+=" AND r.gs_bm is not null"; | |
| 225 | 232 | if(map.get("gsdmLine") != null && map.get("gsdmLine").toString()!=""){ |
| 226 | - sql+=" and r.gs_bm='"+map.get("gsdmLine").toString()+"' "; | |
| 233 | + sql+=" and r.gs_bm = ? "; | |
| 234 | + objList.add(map.get("gsdmLine").toString()); | |
| 227 | 235 | } |
| 228 | 236 | if(map.get("fgsdmLine") != null && map.get("fgsdmLine").toString()!=""){ |
| 229 | - sql+=" and r.fgs_bm='"+map.get("fgsdmLine").toString()+"' "; | |
| 237 | + sql+=" and r.fgs_bm = ? "; | |
| 238 | + objList.add(map.get("fgsdmLine").toString()); | |
| 230 | 239 | } |
| 231 | 240 | sql += " GROUP BY s.station_name,l.name,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name "; |
| 232 | - List<Linepasswengerflow> list = jdbcTemplate.query(sql, new RowMapper<Linepasswengerflow>() { | |
| 241 | + List<Linepasswengerflow> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Linepasswengerflow>() { | |
| 233 | 242 | |
| 234 | 243 | @Override |
| 235 | 244 | public Linepasswengerflow mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -258,6 +267,7 @@ public class FormsServiceImpl implements FormsService { |
| 258 | 267 | if(map.get("fgsdmManth") != null){ |
| 259 | 268 | fgsdmManth=map.get("fgsdmManth").toString(); |
| 260 | 269 | } |
| 270 | + List<String> objList = new ArrayList<String>(); | |
| 261 | 271 | String sql ="select "; |
| 262 | 272 | if(empnames.equals("驾驶员")){ |
| 263 | 273 | sql += " r.j_gh "; |
| ... | ... | @@ -267,12 +277,22 @@ public class FormsServiceImpl implements FormsService { |
| 267 | 277 | sql += " r.cl_zbh "; |
| 268 | 278 | } |
| 269 | 279 | 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() + "' "; | |
| 280 | + + " r.schedule_date_str >= ? " | |
| 281 | + + " and r.schedule_date_str <= ? "; | |
| 282 | + objList.add(map.get("startDate").toString()); | |
| 283 | + objList.add(map.get("endDate").toString()); | |
| 272 | 284 | if(map.get("line")!=null&&!map.get("line").equals("")){ |
| 273 | - sql+=" and r.xl_bm='"+ map.get("line").toString() + "' "; | |
| 285 | + sql += " and r.xl_bm = ? "; | |
| 286 | + objList.add(map.get("line").toString()); | |
| 287 | + } | |
| 288 | + if(gsdmManth.length() > 0){ | |
| 289 | + sql+=" and r.gs_bm = ? "; | |
| 290 | + objList.add(gsdmManth); | |
| 291 | + if(fgsdmManth.length() > 0){ | |
| 292 | + sql+=" and r.fgs_bm = ? "; | |
| 293 | + objList.add(fgsdmManth); | |
| 294 | + } | |
| 274 | 295 | } |
| 275 | - sql+=" and r.gs_bm like'%"+gsdmManth+"%' and r.fgs_bm like'%"+fgsdmManth+"%'"; | |
| 276 | 296 | |
| 277 | 297 | if(empnames.equals("驾驶员")){ |
| 278 | 298 | sql += " GROUP BY " |
| ... | ... | @@ -283,7 +303,7 @@ public class FormsServiceImpl implements FormsService { |
| 283 | 303 | sql += " GROUP BY r.cl_zbh"; |
| 284 | 304 | } |
| 285 | 305 | |
| 286 | - List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() { | |
| 306 | + List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Shiftuehiclemanth>() { | |
| 287 | 307 | |
| 288 | 308 | @Override |
| 289 | 309 | public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -430,6 +450,7 @@ public class FormsServiceImpl implements FormsService { |
| 430 | 450 | if(map.get("fgsdmManth") != null){ |
| 431 | 451 | fgsdmManth=map.get("fgsdmManth").toString(); |
| 432 | 452 | } |
| 453 | + List<String> objList = new ArrayList<String>(); | |
| 433 | 454 | String sql ="select "; |
| 434 | 455 | if(empnames.equals("驾驶员")){ |
| 435 | 456 | sql += " r.j_gh "; |
| ... | ... | @@ -439,12 +460,22 @@ public class FormsServiceImpl implements FormsService { |
| 439 | 460 | sql += " r.cl_zbh "; |
| 440 | 461 | } |
| 441 | 462 | sql += " from bsth_c_s_sp_info_real r where " |
| 442 | - + " r.schedule_date_str >= '" + map.get("startDate").toString() + "' " | |
| 443 | - + " and r.schedule_date_str <='" + map.get("endDate").toString() + "' "; | |
| 463 | + + " r.schedule_date_str >= ? " | |
| 464 | + + " and r.schedule_date_str <= ? "; | |
| 465 | + objList.add(map.get("startDate").toString()); | |
| 466 | + objList.add(map.get("endDate").toString()); | |
| 444 | 467 | if(map.get("line")!=null&&!map.get("line").equals("")){ |
| 445 | - sql+=" and r.xl_bm='"+ map.get("line").toString() + "' "; | |
| 468 | + sql+=" and r.xl_bm = ? "; | |
| 469 | + objList.add(map.get("line").toString()); | |
| 470 | + } | |
| 471 | + if(gsdmManth.length() > 0){ | |
| 472 | + sql+=" and r.gs_bm = ? "; | |
| 473 | + objList.add(gsdmManth); | |
| 474 | + if(fgsdmManth.length() > 0){ | |
| 475 | + sql+=" and r.fgs_bm = ? "; | |
| 476 | + objList.add(fgsdmManth); | |
| 477 | + } | |
| 446 | 478 | } |
| 447 | - sql+=" and r.gs_bm like'%"+gsdmManth+"%' and r.fgs_bm like'%"+fgsdmManth+"%'"; | |
| 448 | 479 | |
| 449 | 480 | if(empnames.equals("驾驶员")){ |
| 450 | 481 | sql += " GROUP BY " |
| ... | ... | @@ -455,7 +486,7 @@ public class FormsServiceImpl implements FormsService { |
| 455 | 486 | sql += " GROUP BY r.cl_zbh"; |
| 456 | 487 | } |
| 457 | 488 | |
| 458 | - List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() { | |
| 489 | + List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Shiftuehiclemanth>() { | |
| 459 | 490 | |
| 460 | 491 | @Override |
| 461 | 492 | public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -637,23 +668,60 @@ public class FormsServiceImpl implements FormsService { |
| 637 | 668 | if(map.get("type") !=null){ |
| 638 | 669 | type =map.get("type").toString(); |
| 639 | 670 | } |
| 640 | - String sql_ =""; | |
| 641 | - if(!type.equals("") && !statue.equals("")){ | |
| 642 | - sql_ +=" order by "+statue+" "+type; | |
| 643 | - } | |
| 671 | + List<String> objList = new ArrayList<String>(); | |
| 644 | 672 | String sql ="select t.* from (select r.schedule_date," |
| 645 | 673 | + " IFNULL(r.s_gh,'')as s_gh,r.cl_zbh," |
| 646 | 674 | + " r.xl_bm,r.j_gh,r.gs_bm,r.fgs_bm,r.lp_name" |
| 647 | 675 | + " FROM bsth_c_s_sp_info_real r where 1=1 " |
| 648 | - + " and r.schedule_date_str='"+date + "' " | |
| 649 | - + " and r.xl_bm = '"+line+"' " | |
| 650 | - + " and r.gs_bm like '%"+gsdmShif+"%' " | |
| 651 | - + " and r.fgs_bm like '%"+fgsdmShif+"%' "+sql_+") t" | |
| 652 | - + " GROUP BY t.schedule_date,t.xl_bm,t.cl_zbh,t.lp_name," | |
| 676 | + + " and r.schedule_date_str = ? " | |
| 677 | + + " and r.xl_bm = ? "; | |
| 678 | + objList.add(date); | |
| 679 | + objList.add(line); | |
| 680 | + if(gsdmShif.length() > 0){ | |
| 681 | + sql += " and r.gs_bm = ? "; | |
| 682 | + objList.add(gsdmShif); | |
| 683 | + if(fgsdmShif.length() > 0){ | |
| 684 | + sql += " and r.fgs_bm = ? "; | |
| 685 | + objList.add(fgsdmShif); | |
| 686 | + } | |
| 687 | + } | |
| 688 | + if(statue.length() > 0){ | |
| 689 | + switch (statue) { | |
| 690 | + case "j_name": | |
| 691 | + sql += " order by j_name "; | |
| 692 | + switch (type) { | |
| 693 | + case "asc": | |
| 694 | + sql += "asc "; | |
| 695 | + break; | |
| 696 | + case "desc": | |
| 697 | + sql += "desc "; | |
| 698 | + break; | |
| 699 | + default: | |
| 700 | + break; | |
| 701 | + } | |
| 702 | + break; | |
| 703 | + case "cl_zbh": | |
| 704 | + sql += " order by cl_zbh "; | |
| 705 | + switch (type) { | |
| 706 | + case "asc": | |
| 707 | + sql += "asc "; | |
| 708 | + break; | |
| 709 | + case "desc": | |
| 710 | + sql += "desc "; | |
| 711 | + break; | |
| 712 | + default: | |
| 713 | + break; | |
| 714 | + } | |
| 715 | + break; | |
| 716 | + default: | |
| 717 | + break; | |
| 718 | + } | |
| 719 | + } | |
| 720 | + sql += ") t GROUP BY t.schedule_date,t.xl_bm,t.cl_zbh,t.lp_name," | |
| 653 | 721 | + " t.j_gh,t.s_gh,t.gs_bm,t.fgs_bm "; |
| 654 | 722 | |
| 655 | 723 | |
| 656 | - List<Shifday> list = jdbcTemplate.query(sql, new RowMapper<Shifday>() { | |
| 724 | + List<Shifday> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Shifday>() { | |
| 657 | 725 | |
| 658 | 726 | @Override |
| 659 | 727 | public Shifday mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -807,21 +875,26 @@ public class FormsServiceImpl implements FormsService { |
| 807 | 875 | fgs =map.get("fgsdm").toString(); |
| 808 | 876 | } |
| 809 | 877 | |
| 810 | - String sql="select * from bsth_c_chtoch where rq BETWEEN '"+ map.get("startDate").toString()+"' " | |
| 811 | - + " and '"+map.get("endDate").toString() +"'"; | |
| 878 | + List<String> objList = new ArrayList<String>(); | |
| 879 | + String sql="select * from bsth_c_chtoch where rq BETWEEN ? and ? "; | |
| 880 | + objList.add(map.get("startDate").toString()); | |
| 881 | + objList.add(map.get("endDate").toString()); | |
| 812 | 882 | |
| 813 | 883 | if(!line.equals("")){ |
| 814 | - sql +=" and xl= '"+line+"'"; | |
| 884 | + sql +=" and xl = ? "; | |
| 885 | + objList.add(line); | |
| 815 | 886 | } |
| 816 | 887 | if(!gs.equals("")){ |
| 817 | - sql += " and gs= '"+gs+"'"; | |
| 888 | + sql += " and gs = ? "; | |
| 889 | + objList.add(gs); | |
| 818 | 890 | } |
| 819 | 891 | if(!fgs.equals("")){ |
| 820 | - sql += " and fgs= '"+fgs+"'"; | |
| 892 | + sql += " and fgs = ? "; | |
| 893 | + objList.add(fgs); | |
| 821 | 894 | } |
| 822 | 895 | |
| 823 | 896 | sql +=" order by rq"; |
| 824 | - List<Changetochange> list = jdbcTemplate.query(sql, new RowMapper<Changetochange>() { | |
| 897 | + List<Changetochange> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Changetochange>() { | |
| 825 | 898 | @Override |
| 826 | 899 | public Changetochange mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 827 | 900 | Changetochange chan = new Changetochange(); |
| ... | ... | @@ -902,23 +975,28 @@ public class FormsServiceImpl implements FormsService { |
| 902 | 975 | List<Singledata> list_=new ArrayList<Singledata>(); |
| 903 | 976 | if(tjtype.equals("jsy")){ |
| 904 | 977 | //油统计 |
| 978 | + List<String> objList = new ArrayList<String>(); | |
| 905 | 979 | String sql="select r.j_gh, r.xl_bm,r.cl_zbh,r.fgs_bm" |
| 906 | 980 | + " from bsth_c_s_sp_info_real r where " |
| 907 | - + " r.schedule_date_str = '"+startDate+"'"; | |
| 981 | + + " r.schedule_date_str = ? "; | |
| 982 | + objList.add(startDate); | |
| 908 | 983 | if(xlbm.length() != 0){ |
| 909 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 984 | + sql += " and r.xl_bm = ? "; | |
| 985 | + objList.add(xlbm); | |
| 910 | 986 | } |
| 911 | 987 | if(gsdm.length() != 0){ |
| 912 | - sql += " and r.gs_bm ='"+gsdm+"'"; | |
| 988 | + sql += " and r.gs_bm = ? "; | |
| 989 | + objList.add(gsdm); | |
| 913 | 990 | } |
| 914 | 991 | if(fgsdm.length() != 0){ |
| 915 | - sql += " and r.fgs_bm ='"+fgsdm+"'"; | |
| 992 | + sql += " and r.fgs_bm = ? "; | |
| 993 | + objList.add(fgsdm); | |
| 916 | 994 | } |
| 917 | - sql += " group by r.fgs_bm,r.j_gh,r.xl_bm,r.cl_zbh " + | |
| 918 | - "order by r.xl_bm,r.cl_zbh"; | |
| 919 | - | |
| 920 | - | |
| 921 | - list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 995 | + sql += " group by r.fgs_bm,r.j_gh,r.xl_bm,r.cl_zbh " + | |
| 996 | + "order by r.xl_bm,r.cl_zbh"; | |
| 997 | + | |
| 998 | + | |
| 999 | + list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Singledata>() { | |
| 922 | 1000 | @Override |
| 923 | 1001 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 924 | 1002 | Singledata sin = new Singledata(); |
| ... | ... | @@ -933,24 +1011,39 @@ public class FormsServiceImpl implements FormsService { |
| 933 | 1011 | |
| 934 | 1012 | Collections.sort(list,new SingledataByXlbm()); |
| 935 | 1013 | |
| 936 | - String linesql=""; | |
| 1014 | + List<String> nyObjList = new ArrayList<String>(); | |
| 1015 | + String nysql="SELECT id,xlbm,nbbm,jsy,jzl as jzl,yh as yh,sh as sh,fgsdm FROM bsth_c_ylb" | |
| 1016 | + + " WHERE rq = ? "; | |
| 1017 | + nyObjList.add(startDate); | |
| 937 | 1018 | if(!xlbm.equals("")){ |
| 938 | - linesql +=" and xlbm ='"+xlbm+"' "; | |
| 1019 | + nysql +=" and xlbm = ? "; | |
| 1020 | + nyObjList.add(xlbm); | |
| 939 | 1021 | } |
| 940 | 1022 | if(!gsdm.equals("")){ |
| 941 | - linesql +=" and ssgsdm ='"+gsdm+"' "; | |
| 1023 | + nysql +=" and ssgsdm = ? "; | |
| 1024 | + nyObjList.add(gsdm); | |
| 942 | 1025 | } |
| 943 | 1026 | if(!fgsdm.equals("")){ |
| 944 | - linesql +=" and fgsdm ='"+fgsdm+"' "; | |
| 1027 | + nysql +=" and fgsdm = ? "; | |
| 1028 | + nyObjList.add(fgsdm); | |
| 945 | 1029 | } |
| 946 | - String nysql="SELECT id,xlbm,nbbm,jsy,jzl as jzl,yh as yh,sh as sh,fgsdm FROM bsth_c_ylb" | |
| 947 | - + " WHERE rq = '"+startDate+"'" | |
| 948 | - + linesql | |
| 949 | - + " union" | |
| 1030 | + nysql += " union" | |
| 950 | 1031 | + " SELECT id,xlbm,nbbm,jsy,cdl as jzl,hd as yh,sh as sh,fgsdm FROM bsth_c_dlb" |
| 951 | - + " WHERE rq = '"+startDate+"'" | |
| 952 | - + linesql; | |
| 953 | - List<Singledata> listNy = jdbcTemplate.query(nysql, new RowMapper<Singledata>() { | |
| 1032 | + + " WHERE rq = ? "; | |
| 1033 | + nyObjList.add(startDate); | |
| 1034 | + if(!xlbm.equals("")){ | |
| 1035 | + nysql +=" and xlbm = ? "; | |
| 1036 | + nyObjList.add(xlbm); | |
| 1037 | + } | |
| 1038 | + if(!gsdm.equals("")){ | |
| 1039 | + nysql +=" and ssgsdm = ? "; | |
| 1040 | + nyObjList.add(gsdm); | |
| 1041 | + } | |
| 1042 | + if(!fgsdm.equals("")){ | |
| 1043 | + nysql +=" and fgsdm = ? "; | |
| 1044 | + nyObjList.add(fgsdm); | |
| 1045 | + } | |
| 1046 | + List<Singledata> listNy = jdbcTemplate.query(nysql, nyObjList.toArray(), new RowMapper<Singledata>() { | |
| 954 | 1047 | @Override |
| 955 | 1048 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 956 | 1049 | Singledata sin = new Singledata(); |
| ... | ... | @@ -985,7 +1078,6 @@ public class FormsServiceImpl implements FormsService { |
| 985 | 1078 | if(fages){ |
| 986 | 1079 | Singledata s=new Singledata(); |
| 987 | 1080 | s.setJsy(jsy); |
| 988 | -// s.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); | |
| 989 | 1081 | s.setClzbh(clzbh); |
| 990 | 1082 | s.setSgh(""); |
| 991 | 1083 | s.setsName(""); |
| ... | ... | @@ -1020,9 +1112,9 @@ public class FormsServiceImpl implements FormsService { |
| 1020 | 1112 | sh=Arith.add(sh, y.getUnyyyl()); |
| 1021 | 1113 | } |
| 1022 | 1114 | } |
| 1023 | - sin.setHyl(String.valueOf(yh)); | |
| 1024 | - sin.setJzl(String.valueOf(jzl)); | |
| 1025 | - sin.setUnyyyl(String.valueOf(sh)); | |
| 1115 | + sin.setHyl(Arith.round(yh, 3) + ""); | |
| 1116 | + sin.setJzl(Arith.round(jzl, 3) + ""); | |
| 1117 | + sin.setUnyyyl(Arith.round(sh, 3) + ""); | |
| 1026 | 1118 | |
| 1027 | 1119 | List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); |
| 1028 | 1120 | List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); |
| ... | ... | @@ -1072,24 +1164,29 @@ public class FormsServiceImpl implements FormsService { |
| 1072 | 1164 | |
| 1073 | 1165 | } |
| 1074 | 1166 | }else{ |
| 1167 | + List<String> objList = new ArrayList<String>(); | |
| 1075 | 1168 | String sql="select r.s_gh,r.s_name, " |
| 1076 | - + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm" | |
| 1169 | + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm " | |
| 1077 | 1170 | + " from bsth_c_s_sp_info_real r where " |
| 1078 | - + " r.schedule_date_str = '"+startDate+"'" | |
| 1079 | - + " and r.s_gh !='' and r.s_gh is not null "; | |
| 1171 | + + " r.schedule_date_str = ? " | |
| 1172 | + + " and r.s_gh !='' and r.s_gh is not null "; | |
| 1173 | + objList.add(startDate); | |
| 1080 | 1174 | if(!xlbm.equals("")){ |
| 1081 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 1175 | + sql += " and r.xl_bm = ? "; | |
| 1176 | + objList.add(xlbm); | |
| 1082 | 1177 | } |
| 1083 | 1178 | if(!gsdm.equals("")){ |
| 1084 | - sql += " and r.gs_bm = '"+gsdm+"'"; | |
| 1179 | + sql += " and r.gs_bm = ? "; | |
| 1180 | + objList.add(gsdm); | |
| 1085 | 1181 | } |
| 1086 | 1182 | if(!fgsdm.equals("")){ |
| 1087 | - sql += " and r.fgs_bm = '"+fgsdm+"'"; | |
| 1183 | + sql += " and r.fgs_bm = ? "; | |
| 1184 | + objList.add(fgsdm); | |
| 1088 | 1185 | } |
| 1089 | 1186 | sql += " group by r.s_gh,r.s_name," |
| 1090 | 1187 | + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh"; |
| 1091 | 1188 | |
| 1092 | - list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1189 | + list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Singledata>() { | |
| 1093 | 1190 | //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 1094 | 1191 | @Override |
| 1095 | 1192 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -1205,20 +1302,25 @@ public class FormsServiceImpl implements FormsService { |
| 1205 | 1302 | List<Singledata> list_=new ArrayList<Singledata>(); |
| 1206 | 1303 | if(tjtype.equals("jsy")){ |
| 1207 | 1304 | //油统计 |
| 1305 | + List<String> objList = new ArrayList<String>(); | |
| 1208 | 1306 | String sql="select r.j_gh, r.xl_bm,r.cl_zbh" |
| 1209 | 1307 | + " from bsth_c_s_sp_info_real r where " |
| 1210 | - + " r.schedule_date_str = '"+startDate+"'"; | |
| 1308 | + + " r.schedule_date_str = ? "; | |
| 1309 | + objList.add(startDate); | |
| 1211 | 1310 | if(!xlbm.equals("")){ |
| 1212 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 1311 | + sql += " and r.xl_bm = ? "; | |
| 1312 | + objList.add(xlbm); | |
| 1213 | 1313 | } |
| 1214 | 1314 | if(!gsdm.equals("")){ |
| 1215 | - sql += " and r.gs_bm='"+gsdm+"'"; | |
| 1315 | + sql += " and r.gs_bm= ? "; | |
| 1316 | + objList.add(gsdm); | |
| 1216 | 1317 | } |
| 1217 | 1318 | if(!fgsdm.equals("")){ |
| 1218 | - sql += " and r.fgs_bm='"+fgsdm+"'"; | |
| 1319 | + sql += " and r.fgs_bm = ? "; | |
| 1320 | + objList.add(fgsdm); | |
| 1219 | 1321 | } |
| 1220 | - sql += " group by r.j_gh,r.xl_bm,r.cl_zbh order by r.xl_bm,r.cl_zbh"; | |
| 1221 | - list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1322 | + sql += " group by r.j_gh,r.xl_bm,r.cl_zbh order by r.xl_bm,r.cl_zbh"; | |
| 1323 | + list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Singledata>() { | |
| 1222 | 1324 | @Override |
| 1223 | 1325 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 1224 | 1326 | Singledata sin = new Singledata(); |
| ... | ... | @@ -1229,24 +1331,39 @@ public class FormsServiceImpl implements FormsService { |
| 1229 | 1331 | return sin; |
| 1230 | 1332 | } |
| 1231 | 1333 | }); |
| 1232 | - String linesql=""; | |
| 1334 | + List<String> nyObjList = new ArrayList<String>(); | |
| 1335 | + String nysql="SELECT id,xlbm,nbbm,jsy,jzl as jzl,yh as yh,sh as sh FROM bsth_c_ylb " | |
| 1336 | + + " WHERE rq = ? "; | |
| 1337 | + nyObjList.add(startDate); | |
| 1233 | 1338 | if(!xlbm.equals("")){ |
| 1234 | - linesql += " and xlbm ='"+xlbm+"' "; | |
| 1339 | + nysql +=" and xlbm = ? "; | |
| 1340 | + nyObjList.add(xlbm); | |
| 1235 | 1341 | } |
| 1236 | - if(!gsdm.equals("")){ | |
| 1237 | - linesql += " and ssgsdm ='"+gsdm+"'"; | |
| 1238 | - } | |
| 1239 | - if(!fgsdm.equals("")){ | |
| 1240 | - linesql += " and fgsdm ='"+fgsdm+"'"; | |
| 1241 | - } | |
| 1242 | - String nysql="SELECT id,xlbm,nbbm, jsy,jzl as jzl,yh as yh,sh as sh FROM bsth_c_ylb " | |
| 1243 | - + " WHERE rq = '"+startDate+"'" | |
| 1244 | - + linesql | |
| 1245 | - + " union" | |
| 1246 | - + " SELECT id,xlbm,nbbm,jsy,cdl as jzl,hd as yh,sh as sh FROM bsth_c_dlb" | |
| 1247 | - + " WHERE rq = '"+startDate+"'" | |
| 1248 | - + linesql; | |
| 1249 | - List<Singledata> listNy = jdbcTemplate.query(nysql, new RowMapper<Singledata>() { | |
| 1342 | + if(!gsdm.equals("")){ | |
| 1343 | + nysql +=" and ssgsdm = ? "; | |
| 1344 | + nyObjList.add(gsdm); | |
| 1345 | + } | |
| 1346 | + if(!fgsdm.equals("")){ | |
| 1347 | + nysql +=" and fgsdm = ? "; | |
| 1348 | + nyObjList.add(fgsdm); | |
| 1349 | + } | |
| 1350 | + nysql += " union" | |
| 1351 | + + " SELECT id,xlbm,nbbm,jsy,cdl as jzl,hd as yh,sh as sh FROM bsth_c_dlb " | |
| 1352 | + + " WHERE rq = ? "; | |
| 1353 | + nyObjList.add(startDate); | |
| 1354 | + if(!xlbm.equals("")){ | |
| 1355 | + nysql +=" and xlbm = ? "; | |
| 1356 | + nyObjList.add(xlbm); | |
| 1357 | + } | |
| 1358 | + if(!gsdm.equals("")){ | |
| 1359 | + nysql +=" and ssgsdm = ? "; | |
| 1360 | + nyObjList.add(gsdm); | |
| 1361 | + } | |
| 1362 | + if(!fgsdm.equals("")){ | |
| 1363 | + nysql +=" and fgsdm = ? "; | |
| 1364 | + nyObjList.add(fgsdm); | |
| 1365 | + } | |
| 1366 | + List<Singledata> listNy = jdbcTemplate.query(nysql, nyObjList.toArray(), new RowMapper<Singledata>() { | |
| 1250 | 1367 | @Override |
| 1251 | 1368 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 1252 | 1369 | Singledata sin = new Singledata(); |
| ... | ... | @@ -1315,9 +1432,9 @@ public class FormsServiceImpl implements FormsService { |
| 1315 | 1432 | sh=Arith.add(sh, y.getUnyyyl()); |
| 1316 | 1433 | } |
| 1317 | 1434 | } |
| 1318 | - sin.setHyl(String.valueOf(yh)); | |
| 1319 | - sin.setJzl(String.valueOf(jzl)); | |
| 1320 | - sin.setUnyyyl(String.valueOf(sh)); | |
| 1435 | + sin.setHyl(Arith.round(yh, 3) + ""); | |
| 1436 | + sin.setJzl(Arith.round(jzl, 3) + ""); | |
| 1437 | + sin.setUnyyyl(Arith.round(sh, 3) + ""); | |
| 1321 | 1438 | |
| 1322 | 1439 | List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); |
| 1323 | 1440 | List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); |
| ... | ... | @@ -1367,24 +1484,29 @@ public class FormsServiceImpl implements FormsService { |
| 1367 | 1484 | } |
| 1368 | 1485 | Collections.sort(list_,new SingledataByXlbm()); |
| 1369 | 1486 | }else{ |
| 1487 | + List<String> objList = new ArrayList<String>(); | |
| 1370 | 1488 | String sql="select r.s_gh, " |
| 1371 | - + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm" | |
| 1489 | + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm " | |
| 1372 | 1490 | + " from bsth_c_s_sp_info_real r where " |
| 1373 | - + " r.schedule_date_str = '"+startDate+"'" | |
| 1374 | - + " and r.s_gh !='' and r.s_gh is not null "; | |
| 1491 | + + " r.schedule_date_str = ? " | |
| 1492 | + + " and r.s_gh !='' and r.s_gh is not null "; | |
| 1493 | + objList.add(startDate); | |
| 1375 | 1494 | if(!xlbm.equals("")){ |
| 1376 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 1495 | + sql += " and r.xl_bm = ? "; | |
| 1496 | + objList.add(xlbm); | |
| 1377 | 1497 | } |
| 1378 | 1498 | if(!gsdm.equals("")){ |
| 1379 | - sql += " and r.gs_bm='"+gsdm+"'"; | |
| 1499 | + sql += " and r.gs_bm = ? "; | |
| 1500 | + objList.add(gsdm); | |
| 1380 | 1501 | } |
| 1381 | 1502 | if(!fgsdm.equals("")){ |
| 1382 | - sql += " and r.fgs_bm='"+fgsdm+"'"; | |
| 1503 | + sql += " and r.fgs_bm = ? "; | |
| 1504 | + objList.add(fgsdm); | |
| 1383 | 1505 | } |
| 1384 | 1506 | sql += " group by r.s_gh," |
| 1385 | 1507 | + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh"; |
| 1386 | - | |
| 1387 | - list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1508 | + | |
| 1509 | + list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Singledata>() { | |
| 1388 | 1510 | //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 1389 | 1511 | @Override |
| 1390 | 1512 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -1461,281 +1583,6 @@ public class FormsServiceImpl implements FormsService { |
| 1461 | 1583 | return list_; |
| 1462 | 1584 | } |
| 1463 | 1585 | |
| 1464 | - /*// 路单数据 | |
| 1465 | - @Override | |
| 1466 | - public List<Singledata> singledatatj(Map<String, Object> map) { | |
| 1467 | - | |
| 1468 | - String gsdm=""; | |
| 1469 | - if(map.get("gsdmSing")!=null){ | |
| 1470 | - gsdm=map.get("gsdmSing").toString(); | |
| 1471 | - } | |
| 1472 | - String fgsdm=""; | |
| 1473 | - if(map.get("fgsdmSing")!=null){ | |
| 1474 | - fgsdm=map.get("fgsdmSing").toString(); | |
| 1475 | - } | |
| 1476 | - | |
| 1477 | - String tjtype=map.get("tjtype").toString(); | |
| 1478 | - String xlbm=map.get("line").toString().trim(); | |
| 1479 | - startDate = map.get("startDate").toString(); | |
| 1480 | - | |
| 1481 | - List<ScheduleRealInfo> listReal=new ArrayList<ScheduleRealInfo>(); | |
| 1482 | - if(xlbm.equals("")){ | |
| 1483 | - listReal=scheduleRealInfoRepository.scheduleByDateAndLineByGs_(gsdm, fgsdm, startDate); | |
| 1484 | - }else{ | |
| 1485 | - listReal=scheduleRealInfoRepository.scheduleByDateAndLineQp(xlbm, startDate); | |
| 1486 | - } | |
| 1487 | - List<Singledata> list=new ArrayList<Singledata>(); | |
| 1488 | - List<Singledata> listY=new ArrayList<Singledata>(); | |
| 1489 | - List<Singledata> listD=new ArrayList<Singledata>(); | |
| 1490 | - | |
| 1491 | - if(tjtype.equals("jsy")){ | |
| 1492 | - //油统计 | |
| 1493 | - String sql="select xlbm,nbbm,jsy from bsth_c_ylb where rq='"+startDate+"'"; | |
| 1494 | - if(xlbm.equals("")){ | |
| 1495 | - sql += " and ssgsdm= '"+gsdm+"' and fgsdm= '"+fgsdm+"'"; | |
| 1496 | - }else{ | |
| 1497 | - sql +=" and xlbm= '"+xlbm+"'"; | |
| 1498 | - } | |
| 1499 | - sql += " group by xlbm,nbbm,jsy"; | |
| 1500 | - listY = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1501 | - @Override | |
| 1502 | - public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 1503 | - Singledata sin = new Singledata(); | |
| 1504 | - sin.setxL(arg0.getString("xlbm")); | |
| 1505 | - sin.setJsy(arg0.getString("jsy")); | |
| 1506 | - sin.setClzbh(arg0.getString("nbbm")); | |
| 1507 | - return sin; | |
| 1508 | - } | |
| 1509 | - }); | |
| 1510 | - | |
| 1511 | - List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); | |
| 1512 | - for (int i = 0; i < listY.size(); i++) { | |
| 1513 | - Singledata sin=listY.get(i); | |
| 1514 | - String jsy=sin.getJsy(); | |
| 1515 | - String line=sin.getxL(); | |
| 1516 | - String clzbh=sin.getClzbh(); | |
| 1517 | - | |
| 1518 | - double jzl=0.0; | |
| 1519 | - double yh=0.0; | |
| 1520 | - double sh=0.0; | |
| 1521 | - for (int j = 0; j < listYlb.size(); j++) { | |
| 1522 | - Ylb y=listYlb.get(j); | |
| 1523 | - if(y.getJsy().equals(jsy) | |
| 1524 | - &&y.getNbbm().equals(clzbh) | |
| 1525 | - &&y.getXlbm().equals(line)){ | |
| 1526 | - jzl=Arith.add(jzl, y.getJzl()); | |
| 1527 | - yh=Arith.add(yh, y.getYh()); | |
| 1528 | - sh=Arith.add(sh, y.getSh()); | |
| 1529 | - } | |
| 1530 | - } | |
| 1531 | - sin.setHyl(String.valueOf(yh)); | |
| 1532 | - sin.setJzl(String.valueOf(jzl)); | |
| 1533 | - sin.setUnyyyl(String.valueOf(sh)); | |
| 1534 | - | |
| 1535 | - List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 1536 | - List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 1537 | - for (int j = 0; j < listReal.size(); j++) { | |
| 1538 | - ScheduleRealInfo s=listReal.get(j); | |
| 1539 | - if(s.getjGh().equals(jsy) | |
| 1540 | - && s.getClZbh().equals(clzbh) | |
| 1541 | - &&s.getXlBm().equals(line)){ | |
| 1542 | - newList.add(s); | |
| 1543 | - Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 1544 | - if(cts != null && cts.size() > 0){ | |
| 1545 | - newList_.add(s); | |
| 1546 | - }else{ | |
| 1547 | - if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 1548 | - newList_.add(s); | |
| 1549 | - } | |
| 1550 | - } | |
| 1551 | - } | |
| 1552 | - } | |
| 1553 | - double jhgl=culateMileageService.culateJhgl(newList); | |
| 1554 | - double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 1555 | - double yygl=culateMileageService.culateSjgl(newList_); | |
| 1556 | - double ljgl=culateMileageService.culateLjgl(newList_); | |
| 1557 | - double ksgl=culateMileageService.culateKsgl(newList_); | |
| 1558 | - double jcgl=culateMileageService.culateJccgl(newList_); | |
| 1559 | - | |
| 1560 | - double zyygl=Arith.add(yygl, ljgl); | |
| 1561 | - double zksgl=Arith.add(ksgl, jcgl); | |
| 1562 | - sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 1563 | - sin.setEmptMileage(String.valueOf(zksgl)); | |
| 1564 | - sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 1565 | - sin.setXlmc(BasicData.lineCode2NameMap.get(line)); | |
| 1566 | - sin.setrQ(startDate); | |
| 1567 | - sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); | |
| 1568 | - sin.setSgh(""); | |
| 1569 | - sin.setsName(""); | |
| 1570 | - } | |
| 1571 | - | |
| 1572 | - | |
| 1573 | - //电量计算 | |
| 1574 | - String sqldl="select xlbm,nbbm,jsy from bsth_c_dlb where rq='"+startDate+"'"; | |
| 1575 | - if(xlbm.equals("")){ | |
| 1576 | - sqldl += " and ssgsdm= '"+gsdm+"' and fgsdm= '"+fgsdm+"'"; | |
| 1577 | - }else{ | |
| 1578 | - sqldl +=" and xlbm= '"+xlbm+"'"; | |
| 1579 | - } | |
| 1580 | - sqldl += " group by xlbm,nbbm,jsy"; | |
| 1581 | - listD = jdbcTemplate.query(sqldl, new RowMapper<Singledata>() { | |
| 1582 | - @Override | |
| 1583 | - public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 1584 | - Singledata sin = new Singledata(); | |
| 1585 | - sin.setxL(arg0.getString("xlbm")); | |
| 1586 | - sin.setJsy(arg0.getString("jsy")); | |
| 1587 | - sin.setClzbh(arg0.getString("nbbm")); | |
| 1588 | - return sin; | |
| 1589 | - } | |
| 1590 | - }); | |
| 1591 | - List<Dlb> listDlb= dlbRepository.obtainDl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); | |
| 1592 | - | |
| 1593 | - for (int i = 0; i < listD.size(); i++) { | |
| 1594 | - Singledata sin=listD.get(i); | |
| 1595 | - String jsy=sin.getJsy(); | |
| 1596 | - String line=sin.getxL(); | |
| 1597 | - String clzbh=sin.getClzbh(); | |
| 1598 | - | |
| 1599 | - double jzl=0.0; | |
| 1600 | - double yh=0.0; | |
| 1601 | - double sh=0.0; | |
| 1602 | - for (int j = 0; j < listDlb.size(); j++) { | |
| 1603 | - Dlb d=listDlb.get(j); | |
| 1604 | - if(d.getJsy().equals(jsy) | |
| 1605 | - &&d.getNbbm().equals(clzbh) | |
| 1606 | - &&d.getXlbm().equals(line)){ | |
| 1607 | - jzl=Arith.add(jzl, d.getCdl()); | |
| 1608 | - yh=Arith.add(yh, d.getHd()); | |
| 1609 | - sh=Arith.add(sh, d.getSh()); | |
| 1610 | - } | |
| 1611 | - } | |
| 1612 | - sin.setHyl(String.valueOf(yh)); | |
| 1613 | - sin.setJzl(String.valueOf(jzl)); | |
| 1614 | - sin.setUnyyyl(String.valueOf(sh)); | |
| 1615 | - | |
| 1616 | - List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 1617 | - List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 1618 | - for (int j = 0; j < listReal.size(); j++) { | |
| 1619 | - ScheduleRealInfo s=listReal.get(j); | |
| 1620 | - if(s.getjGh().equals(jsy) | |
| 1621 | - && s.getClZbh().equals(clzbh) | |
| 1622 | - &&s.getXlBm().equals(line)){ | |
| 1623 | - newList.add(s); | |
| 1624 | - Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 1625 | - if(cts != null && cts.size() > 0){ | |
| 1626 | - newList_.add(s); | |
| 1627 | - }else{ | |
| 1628 | - if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 1629 | - newList_.add(s); | |
| 1630 | - } | |
| 1631 | - } | |
| 1632 | - } | |
| 1633 | - } | |
| 1634 | - double jhgl=culateMileageService.culateJhgl(newList); | |
| 1635 | - double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 1636 | - double yygl=culateMileageService.culateSjgl(newList_); | |
| 1637 | - double ljgl=culateMileageService.culateLjgl(newList_); | |
| 1638 | - double ksgl=culateMileageService.culateKsgl(newList_); | |
| 1639 | - double jcgl=culateMileageService.culateJccgl(newList_); | |
| 1640 | - | |
| 1641 | - double zyygl=Arith.add(yygl, ljgl); | |
| 1642 | - double zksgl=Arith.add(ksgl, jcgl); | |
| 1643 | - sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 1644 | - sin.setEmptMileage(String.valueOf(zksgl)); | |
| 1645 | - sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 1646 | - sin.setXlmc(BasicData.lineCode2NameMap.get(line)); | |
| 1647 | - sin.setrQ(startDate); | |
| 1648 | - sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); | |
| 1649 | - sin.setSgh(""); | |
| 1650 | - sin.setsName(""); | |
| 1651 | - } | |
| 1652 | - | |
| 1653 | - | |
| 1654 | - Collections.sort(listY,new SingledataByXlbm()); | |
| 1655 | - Collections.sort(listD,new SingledataByXlbm()); | |
| 1656 | - list.addAll(listY); | |
| 1657 | - list.addAll(listD); | |
| 1658 | - }else{ | |
| 1659 | - String sql="select r.s_gh,r.s_name, " | |
| 1660 | - + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm" | |
| 1661 | - + " from bsth_c_s_sp_info_real r where " | |
| 1662 | - + " r.schedule_date_str = '"+startDate+"'" | |
| 1663 | - + " and r.s_gh !='' and r.s_gh is not null "; | |
| 1664 | - if(xlbm.equals("")){ | |
| 1665 | - sql +="and r.gs_bm='"+gsdm+"' " | |
| 1666 | - + " and r.fgs_bm='"+fgsdm+"'"; | |
| 1667 | - }else{ | |
| 1668 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 1669 | - } | |
| 1670 | - sql += " group by r.s_gh,r.s_name," | |
| 1671 | - + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh"; | |
| 1672 | - | |
| 1673 | - list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1674 | - //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | |
| 1675 | - @Override | |
| 1676 | - public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 1677 | - Singledata sin = new Singledata(); | |
| 1678 | - sin.setrQ(startDate); | |
| 1679 | - sin.setxL(arg0.getString("xl_bm")); | |
| 1680 | - sin.setClzbh(arg0.getString("cl_zbh")); | |
| 1681 | - sin.setSgh(arg0.getString("s_gh")); | |
| 1682 | - sin.setsName(arg0.getString("s_name")); | |
| 1683 | - return sin; | |
| 1684 | - } | |
| 1685 | - }); | |
| 1686 | - | |
| 1687 | - for (int i = 0; i < list.size(); i++) { | |
| 1688 | - Singledata sin=list.get(i); | |
| 1689 | - String jsy=sin.getSgh(); | |
| 1690 | - String line=sin.getxL(); | |
| 1691 | - String clzbh=sin.getClzbh(); | |
| 1692 | - List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); | |
| 1693 | - List<ScheduleRealInfo> newList_=new ArrayList<ScheduleRealInfo>(); | |
| 1694 | - | |
| 1695 | - for (int j = 0; j < listReal.size(); j++) { | |
| 1696 | - ScheduleRealInfo s=listReal.get(j); | |
| 1697 | - if(s.getsGh().equals(jsy) && s.getClZbh().equals(clzbh) | |
| 1698 | - &&s.getXlBm().equals(line)){ | |
| 1699 | - newList.add(s); | |
| 1700 | - Set<ChildTaskPlan> cts = s.getcTasks(); | |
| 1701 | - if(cts != null && cts.size() > 0){ | |
| 1702 | - newList_.add(s); | |
| 1703 | - }else{ | |
| 1704 | - if(s.getZdsjActual()!=null && s.getFcsjActual()!=null){ | |
| 1705 | - newList_.add(s); | |
| 1706 | - } | |
| 1707 | - } | |
| 1708 | - } | |
| 1709 | - } | |
| 1710 | - double jhgl=culateMileageService.culateJhgl(newList); | |
| 1711 | - double jhjcc=culateMileageService.culateJhJccgl(newList); | |
| 1712 | - double yygl=culateMileageService.culateSjgl(newList_); | |
| 1713 | - double ljgl=culateMileageService.culateLjgl(newList_); | |
| 1714 | - double ksgl=culateMileageService.culateKsgl(newList_); | |
| 1715 | - double jcgl=culateMileageService.culateJccgl(newList_); | |
| 1716 | - | |
| 1717 | - double zyygl=Arith.add(yygl, ljgl); | |
| 1718 | - double zksgl=Arith.add(ksgl, jcgl); | |
| 1719 | - | |
| 1720 | - sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); | |
| 1721 | - | |
| 1722 | - sin.setEmptMileage(String.valueOf(zksgl)); | |
| 1723 | - sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | |
| 1724 | - sin.setxL(BasicData.lineCode2NameMap.get(line)); | |
| 1725 | - sin.setClzbh(clzbh); | |
| 1726 | - sin.setJsy(""); | |
| 1727 | - sin.setjName(""); | |
| 1728 | - sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); | |
| 1729 | - sin.setHyl(""); | |
| 1730 | - sin.setJzl(""); | |
| 1731 | - sin.setUnyyyl(""); | |
| 1732 | - } | |
| 1733 | - Collections.sort(list,new SingledataByXlbm()); | |
| 1734 | - } | |
| 1735 | - | |
| 1736 | - return list; | |
| 1737 | - | |
| 1738 | - }*/ | |
| 1739 | 1586 | |
| 1740 | 1587 | // 路单数据 |
| 1741 | 1588 | @Override |
| ... | ... | @@ -1752,39 +1599,31 @@ public class FormsServiceImpl implements FormsService { |
| 1752 | 1599 | |
| 1753 | 1600 | String xlbm=map.get("line").toString().trim(); |
| 1754 | 1601 | |
| 1755 | - /*SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | |
| 1756 | - SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日"); | |
| 1757 | - Date d = null; | |
| 1758 | - Date d1 = null; | |
| 1759 | - try { | |
| 1760 | - d = sdf.parse(map.get("startDate").toString()); | |
| 1761 | - d1 = sdf.parse(map.get("endDate").toString()); | |
| 1762 | - } catch (ParseException e) { | |
| 1763 | 1602 | |
| 1764 | - e.printStackTrace(); | |
| 1765 | - } | |
| 1766 | - String rq2 = sdf1.format(d); | |
| 1767 | - String rq3 = sdf1.format(d1);*/ | |
| 1768 | - | |
| 1769 | -// rq = rq2 + "-" + rq3; | |
| 1770 | 1603 | startDate = map.get("startDate").toString(); |
| 1771 | 1604 | |
| 1605 | + | |
| 1606 | + List<String> objList = new ArrayList<String>(); | |
| 1772 | 1607 | String sql="select r.s_gh,r.s_name, " |
| 1773 | 1608 | + " r.xl_bm,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm,xl_name" |
| 1774 | - + " from bsth_c_s_sp_info_real r where r.schedule_date_str = '"+startDate+"'"; | |
| 1609 | + + " from bsth_c_s_sp_info_real r where r.schedule_date_str = ? "; | |
| 1610 | + objList.add(startDate); | |
| 1775 | 1611 | if(!xlbm.equals("")){ |
| 1776 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 1612 | + sql += " and r.xl_bm = ? "; | |
| 1613 | + objList.add(xlbm); | |
| 1777 | 1614 | } |
| 1778 | 1615 | if(!gsdm.equals("")){ |
| 1779 | - sql += " and r.gs_bm='"+gsdm+"'"; | |
| 1616 | + sql += " and r.gs_bm = ? "; | |
| 1617 | + objList.add(gsdm); | |
| 1780 | 1618 | } |
| 1781 | 1619 | if(!fgsdm.equals("")){ |
| 1782 | - sql += " and r.fgs_bm='"+fgsdm+"'"; | |
| 1620 | + sql += " and r.fgs_bm = ? "; | |
| 1621 | + objList.add(fgsdm); | |
| 1783 | 1622 | } |
| 1784 | 1623 | sql += " group by r.s_gh,r.s_name," |
| 1785 | 1624 | + " r.xl_bm,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm,xl_name order by r.xl_bm,r.cl_zbh"; |
| 1786 | 1625 | |
| 1787 | - List<Singledata> list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1626 | + List<Singledata> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Singledata>() { | |
| 1788 | 1627 | //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 1789 | 1628 | @Override |
| 1790 | 1629 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -1802,7 +1641,6 @@ public class FormsServiceImpl implements FormsService { |
| 1802 | 1641 | return sin; |
| 1803 | 1642 | } |
| 1804 | 1643 | }); |
| 1805 | - DecimalFormat df = new DecimalFormat("0.00"); | |
| 1806 | 1644 | List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); |
| 1807 | 1645 | List<Dlb> listDlb= dlbRepository.obtainDl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); |
| 1808 | 1646 | List<ScheduleRealInfo> listReal=scheduleRealInfoRepository.scheduleByDateAndLine(xlbm, startDate); |
| ... | ... | @@ -1864,9 +1702,9 @@ public class FormsServiceImpl implements FormsService { |
| 1864 | 1702 | } |
| 1865 | 1703 | if(zlcs>0){ |
| 1866 | 1704 | double lcbfb= zlc/zlcs; |
| 1867 | - sin.setHyl(df.format(yhl*lcbfb)); | |
| 1868 | - sin.setJzl(df.format(jzl*lcbfb)); | |
| 1869 | - sin.setUnyyyl(df.format(fyy*lcbfb)); | |
| 1705 | + sin.setHyl(Arith.round(yhl*lcbfb, 3) + ""); | |
| 1706 | + sin.setJzl(Arith.round(jzl*lcbfb, 3) + ""); | |
| 1707 | + sin.setUnyyyl(Arith.round(fyy*lcbfb, 3) + ""); | |
| 1870 | 1708 | } |
| 1871 | 1709 | } |
| 1872 | 1710 | return list; |
| ... | ... | @@ -1901,7 +1739,6 @@ public class FormsServiceImpl implements FormsService { |
| 1901 | 1739 | List<Singledata> listD=new ArrayList<Singledata>(); |
| 1902 | 1740 | |
| 1903 | 1741 | if(tjtype.equals("jsy")){ |
| 1904 | - DecimalFormat df = new DecimalFormat("0.00"); | |
| 1905 | 1742 | List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); |
| 1906 | 1743 | for (int i = 0; i < listYlb.size(); i++) { |
| 1907 | 1744 | Ylb y=listYlb.get(i); |
| ... | ... | @@ -1975,15 +1812,17 @@ public class FormsServiceImpl implements FormsService { |
| 1975 | 1812 | sin.setrQ(startDate); |
| 1976 | 1813 | if(newList.size()>0){ |
| 1977 | 1814 | sin.setjName(newList.get(0).getjName()); |
| 1815 | + }if(y.getJname()!=null && y.getJname().length() > 0){ | |
| 1816 | + sin.setjName(y.getJname()); | |
| 1978 | 1817 | }else{ |
| 1979 | 1818 | sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); |
| 1980 | 1819 | } |
| 1981 | 1820 | sin.setSgh(""); |
| 1982 | 1821 | sin.setsName(""); |
| 1983 | 1822 | sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); |
| 1984 | - sin.setHyl(df.format(y.getYh())); | |
| 1985 | - sin.setJzl(df.format(y.getJzl())); | |
| 1986 | - sin.setUnyyyl(df.format(y.getSh())); | |
| 1823 | + sin.setHyl(Arith.round(y.getYh(), 3) + ""); | |
| 1824 | + sin.setJzl(Arith.round(y.getJzl(), 3) + ""); | |
| 1825 | + sin.setUnyyyl(Arith.round(y.getSh(), 3) + ""); | |
| 1987 | 1826 | listY.add(sin); |
| 1988 | 1827 | } |
| 1989 | 1828 | |
| ... | ... | @@ -2055,20 +1894,23 @@ public class FormsServiceImpl implements FormsService { |
| 2055 | 1894 | sin.setXlmc(y.getXlname()); |
| 2056 | 1895 | }else{ |
| 2057 | 1896 | sin.setXlmc(y.getLinename()); |
| 2058 | - } sin.setClzbh(clzbh); | |
| 1897 | + } | |
| 1898 | + sin.setClzbh(clzbh); | |
| 2059 | 1899 | sin.setJsy(jsy); |
| 2060 | 1900 | sin.setrQ(startDate); |
| 2061 | 1901 | if(newList.size()>0){ |
| 2062 | 1902 | sin.setjName(newList.get(0).getjName()); |
| 1903 | + }if(y.getJname()!=null && y.getJname().length() > 0){ | |
| 1904 | + sin.setjName(y.getJname()); | |
| 2063 | 1905 | }else{ |
| 2064 | 1906 | sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); |
| 2065 | 1907 | } |
| 2066 | 1908 | sin.setSgh(""); |
| 2067 | 1909 | sin.setsName(""); |
| 2068 | 1910 | sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); |
| 2069 | - sin.setHyl(df.format(y.getHd())); | |
| 2070 | - sin.setJzl(df.format(y.getCdl())); | |
| 2071 | - sin.setUnyyyl(df.format(y.getSh())); | |
| 1911 | + sin.setHyl(Arith.round(y.getHd(), 3) + ""); | |
| 1912 | + sin.setJzl(Arith.round(y.getCdl(), 3) + ""); | |
| 1913 | + sin.setUnyyyl(Arith.round(y.getSh(), 3) + ""); | |
| 2072 | 1914 | listD.add(sin); |
| 2073 | 1915 | } |
| 2074 | 1916 | } |
| ... | ... | @@ -2078,24 +1920,29 @@ public class FormsServiceImpl implements FormsService { |
| 2078 | 1920 | list.addAll(listY); |
| 2079 | 1921 | list.addAll(listD); |
| 2080 | 1922 | }else{ |
| 1923 | + List<String> objList = new ArrayList<String>(); | |
| 2081 | 1924 | String sql="select r.s_gh,r.s_name, " |
| 2082 | 1925 | + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm,r.xl_name" |
| 2083 | 1926 | + " from bsth_c_s_sp_info_real r where " |
| 2084 | - + " r.schedule_date_str = '"+startDate+"'" | |
| 2085 | - + " and r.s_gh !='' and r.s_gh is not null "; | |
| 1927 | + + " r.schedule_date_str = ? " | |
| 1928 | + + " and r.s_gh !='' and r.s_gh is not null "; | |
| 1929 | + objList.add(startDate); | |
| 2086 | 1930 | if(!xlbm.equals("")){ |
| 2087 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 1931 | + sql += " and r.xl_bm = ? "; | |
| 1932 | + objList.add(xlbm); | |
| 2088 | 1933 | } |
| 2089 | 1934 | if(!gsdm.equals("")){ |
| 2090 | - sql += " and r.gs_bm='"+gsdm+"'"; | |
| 1935 | + sql += " and r.gs_bm = ? "; | |
| 1936 | + objList.add(gsdm); | |
| 2091 | 1937 | } |
| 2092 | 1938 | if(!fgsdm.equals("")){ |
| 2093 | - sql += " and r.fgs_bm='"+fgsdm+"'"; | |
| 1939 | + sql += " and r.fgs_bm = ? "; | |
| 1940 | + objList.add(fgsdm); | |
| 2094 | 1941 | } |
| 2095 | 1942 | sql += " group by r.s_gh,r.s_name," |
| 2096 | 1943 | + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm,r.xl_name order by r.xl_bm,r.cl_zbh"; |
| 2097 | 1944 | |
| 2098 | - list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 1945 | + list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Singledata>() { | |
| 2099 | 1946 | //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 2100 | 1947 | @Override |
| 2101 | 1948 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -2191,7 +2038,6 @@ public class FormsServiceImpl implements FormsService { |
| 2191 | 2038 | List<Singledata> listD=new ArrayList<Singledata>(); |
| 2192 | 2039 | |
| 2193 | 2040 | if(tjtype.equals("jsy")){ |
| 2194 | - DecimalFormat df = new DecimalFormat("0.00"); | |
| 2195 | 2041 | List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); |
| 2196 | 2042 | for (int i = 0; i < listYlb.size(); i++) { |
| 2197 | 2043 | Ylb y=listYlb.get(i); |
| ... | ... | @@ -2263,15 +2109,17 @@ public class FormsServiceImpl implements FormsService { |
| 2263 | 2109 | sin.setrQ(startDate); |
| 2264 | 2110 | if(newList.size()>0){ |
| 2265 | 2111 | sin.setjName(newList.get(0).getjName()); |
| 2112 | + }if(y.getJname()!=null && y.getJname().length() > 0){ | |
| 2113 | + sin.setjName(y.getJname()); | |
| 2266 | 2114 | }else{ |
| 2267 | 2115 | sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); |
| 2268 | 2116 | } |
| 2269 | 2117 | sin.setSgh(""); |
| 2270 | 2118 | sin.setsName(""); |
| 2271 | 2119 | sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); |
| 2272 | - sin.setHyl(df.format(y.getYh())); | |
| 2273 | - sin.setJzl(df.format(y.getJzl())); | |
| 2274 | - sin.setUnyyyl(df.format(y.getSh())); | |
| 2120 | + sin.setHyl(Arith.round(y.getYh(), 2)+""); | |
| 2121 | + sin.setJzl(Arith.round(y.getJzl(), 2)+""); | |
| 2122 | + sin.setUnyyyl(Arith.round(y.getSh(), 2)+""); | |
| 2275 | 2123 | listY.add(sin); |
| 2276 | 2124 | } |
| 2277 | 2125 | |
| ... | ... | @@ -2349,15 +2197,17 @@ public class FormsServiceImpl implements FormsService { |
| 2349 | 2197 | sin.setrQ(startDate); |
| 2350 | 2198 | if(newList.size()>0){ |
| 2351 | 2199 | sin.setjName(newList.get(0).getjName()); |
| 2200 | + }if(y.getJname()!=null && y.getJname().length() > 0){ | |
| 2201 | + sin.setjName(y.getJname()); | |
| 2352 | 2202 | }else{ |
| 2353 | 2203 | sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy)); |
| 2354 | 2204 | } |
| 2355 | 2205 | sin.setSgh(""); |
| 2356 | 2206 | sin.setsName(""); |
| 2357 | 2207 | sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm)); |
| 2358 | - sin.setHyl(df.format(y.getHd())); | |
| 2359 | - sin.setJzl(df.format(y.getCdl())); | |
| 2360 | - sin.setUnyyyl(df.format(y.getSh())); | |
| 2208 | + sin.setHyl(Arith.round(y.getHd(), 3) + ""); | |
| 2209 | + sin.setJzl(Arith.round(y.getCdl(), 3) + ""); | |
| 2210 | + sin.setUnyyyl(Arith.round(y.getSh(), 3) + ""); | |
| 2361 | 2211 | listD.add(sin); |
| 2362 | 2212 | } |
| 2363 | 2213 | } |
| ... | ... | @@ -2367,24 +2217,29 @@ public class FormsServiceImpl implements FormsService { |
| 2367 | 2217 | list.addAll(listY); |
| 2368 | 2218 | list.addAll(listD); |
| 2369 | 2219 | }else{ |
| 2220 | + List<String> objList = new ArrayList<String>(); | |
| 2370 | 2221 | String sql="select r.s_gh,r.s_name, " |
| 2371 | 2222 | + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm,r.xl_name" |
| 2372 | 2223 | + " from bsth_c_s_sp_info_real r where " |
| 2373 | - + " r.schedule_date_str = '"+startDate+"'" | |
| 2224 | + + " r.schedule_date_str = ? " | |
| 2374 | 2225 | + " and r.s_gh !='' and r.s_gh is not null "; |
| 2226 | + objList.add(startDate); | |
| 2375 | 2227 | if(!xlbm.equals("")){ |
| 2376 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 2228 | + sql += " and r.xl_bm = ? "; | |
| 2229 | + objList.add(xlbm); | |
| 2377 | 2230 | } |
| 2378 | 2231 | if(!gsdm.equals("")){ |
| 2379 | - sql += " and r.gs_bm='"+gsdm+"'"; | |
| 2232 | + sql += " and r.gs_bm = ? "; | |
| 2233 | + objList.add(gsdm); | |
| 2380 | 2234 | } |
| 2381 | 2235 | if(!fgsdm.equals("")){ |
| 2382 | - sql += " and r.fgs_bm='"+fgsdm+"'"; | |
| 2236 | + sql += " and r.fgs_bm = ? "; | |
| 2237 | + objList.add(fgsdm); | |
| 2383 | 2238 | } |
| 2384 | 2239 | sql += " group by r.s_gh,r.s_name," |
| 2385 | 2240 | + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm,xl_name order by r.xl_bm,r.cl_zbh"; |
| 2386 | 2241 | |
| 2387 | - list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { | |
| 2242 | + list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Singledata>() { | |
| 2388 | 2243 | //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 2389 | 2244 | @Override |
| 2390 | 2245 | public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -2472,22 +2327,28 @@ public class FormsServiceImpl implements FormsService { |
| 2472 | 2327 | String startDate=map.get("startDate").toString(); |
| 2473 | 2328 | String endDate =map.get("endDate").toString(); |
| 2474 | 2329 | |
| 2330 | + List<String> objList = new ArrayList<String>(); | |
| 2475 | 2331 | String sql="select r.xl_bm, r.gs_bm, r.fgs_bm" |
| 2476 | 2332 | + " from bsth_c_s_sp_info_real r where" |
| 2477 | - + " r.schedule_date_str BETWEEN '"+startDate+"' and '"+endDate+"'"; | |
| 2333 | + + " r.schedule_date_str BETWEEN ? and ? "; | |
| 2334 | + objList.add(startDate); | |
| 2335 | + objList.add(endDate); | |
| 2478 | 2336 | if(xlbm.length() != 0){ |
| 2479 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 2337 | + sql += " and r.xl_bm = ? "; | |
| 2338 | + objList.add(xlbm); | |
| 2480 | 2339 | } |
| 2481 | 2340 | if(gsdm.length() != 0){ |
| 2482 | - sql += " and r.gs_bm='"+gsdm+"'"; | |
| 2341 | + sql += " and r.gs_bm = ? "; | |
| 2342 | + objList.add(gsdm); | |
| 2483 | 2343 | } |
| 2484 | 2344 | if(fgsdm.length() != 0){ |
| 2485 | - sql += " and r.fgs_bm='"+fgsdm+"'"; | |
| 2345 | + sql += " and r.fgs_bm = ? "; | |
| 2346 | + objList.add(fgsdm); | |
| 2486 | 2347 | } |
| 2487 | 2348 | sql += " group by r.gs_bm, r.fgs_bm, r.xl_bm " + |
| 2488 | 2349 | "order by r.gs_bm, r.fgs_bm, r.xl_bm"; |
| 2489 | 2350 | |
| 2490 | - List<Operationservice> query = jdbcTemplate.query(sql, new RowMapper<Operationservice>() { | |
| 2351 | + List<Operationservice> query = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Operationservice>() { | |
| 2491 | 2352 | @Override |
| 2492 | 2353 | public Operationservice mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 2493 | 2354 | Operationservice ve = new Operationservice(); |
| ... | ... | @@ -2521,17 +2382,23 @@ public class FormsServiceImpl implements FormsService { |
| 2521 | 2382 | } |
| 2522 | 2383 | } |
| 2523 | 2384 | |
| 2524 | - String ylbSql=" select * from bsth_c_ylb where rq BETWEEN '"+startDate+"' and '"+endDate+"'"; | |
| 2385 | + List<String> ylbObjList = new ArrayList<String>(); | |
| 2386 | + String ylbSql=" select * from bsth_c_ylb where rq BETWEEN ? and ? "; | |
| 2387 | + ylbObjList.add(startDate); | |
| 2388 | + ylbObjList.add(endDate); | |
| 2525 | 2389 | if(!xlbm.equals("")){ |
| 2526 | - ylbSql += " and xlbm = '"+xlbm+"'"; | |
| 2390 | + ylbSql += " and xlbm = ? "; | |
| 2391 | + ylbObjList.add(xlbm); | |
| 2527 | 2392 | } |
| 2528 | 2393 | if(!gsdm.equals("")){ |
| 2529 | - ylbSql += " and ssgsdm='"+gsdm+"'"; | |
| 2394 | + ylbSql += " and ssgsdm = ? "; | |
| 2395 | + ylbObjList.add(gsdm); | |
| 2530 | 2396 | } |
| 2531 | 2397 | if(!fgsdm.equals("")){ |
| 2532 | - ylbSql += " and fgsdm='"+fgsdm+"'"; | |
| 2398 | + ylbSql += " and fgsdm = ? "; | |
| 2399 | + ylbObjList.add(fgsdm); | |
| 2533 | 2400 | } |
| 2534 | - List<Ylb> ylbList= jdbcTemplate.query(ylbSql, new RowMapper<Ylb>() { | |
| 2401 | + List<Ylb> ylbList= jdbcTemplate.query(ylbSql, ylbObjList.toArray(), new RowMapper<Ylb>() { | |
| 2535 | 2402 | @Override |
| 2536 | 2403 | public Ylb mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 2537 | 2404 | Ylb y = new Ylb(); |
| ... | ... | @@ -2542,17 +2409,23 @@ public class FormsServiceImpl implements FormsService { |
| 2542 | 2409 | } |
| 2543 | 2410 | }); |
| 2544 | 2411 | |
| 2545 | - String dlbSql=" select * from bsth_c_dlb where rq BETWEEN '"+startDate+"' and '"+endDate+"'"; | |
| 2412 | + List<String> dlbObjList = new ArrayList<String>(); | |
| 2413 | + String dlbSql=" select * from bsth_c_dlb where rq BETWEEN ? and ? "; | |
| 2414 | + dlbObjList.add(startDate); | |
| 2415 | + dlbObjList.add(endDate); | |
| 2546 | 2416 | if(!xlbm.equals("")){ |
| 2547 | - ylbSql += " and xlbm = '"+xlbm+"'"; | |
| 2417 | + ylbSql += " and xlbm = ? "; | |
| 2418 | + dlbObjList.add(xlbm); | |
| 2548 | 2419 | } |
| 2549 | 2420 | if(!gsdm.equals("")){ |
| 2550 | - ylbSql += " and ssgsdm='"+gsdm+"'"; | |
| 2421 | + ylbSql += " and ssgsdm = ? "; | |
| 2422 | + dlbObjList.add(gsdm); | |
| 2551 | 2423 | } |
| 2552 | 2424 | if(!fgsdm.equals("")){ |
| 2553 | - ylbSql += " and fgsdm='"+fgsdm+"'"; | |
| 2425 | + ylbSql += " and fgsdm = ? "; | |
| 2426 | + dlbObjList.add(fgsdm); | |
| 2554 | 2427 | } |
| 2555 | - List<Dlb> dlbList= jdbcTemplate.query(dlbSql, new RowMapper<Dlb>() { | |
| 2428 | + List<Dlb> dlbList= jdbcTemplate.query(dlbSql, dlbObjList.toArray(), new RowMapper<Dlb>() { | |
| 2556 | 2429 | @Override |
| 2557 | 2430 | public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 2558 | 2431 | Dlb d = new Dlb(); |
| ... | ... | @@ -2647,13 +2520,16 @@ public class FormsServiceImpl implements FormsService { |
| 2647 | 2520 | @Override |
| 2648 | 2521 | public List<Vehicleloading> vehicleloading(String line, String date) { |
| 2649 | 2522 | |
| 2523 | + List<String> objList = new ArrayList<String>(); | |
| 2650 | 2524 | String sql="select r.s_gh,r.s_name, " |
| 2651 | 2525 | + " r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm" |
| 2652 | - + " from bsth_c_s_sp_info_real r where r.schedule_date_str = '"+date+"' " | |
| 2653 | - + " and r.xl_bm = '"+line+"' group by r.s_gh,r.s_name," | |
| 2526 | + + " from bsth_c_s_sp_info_real r where r.schedule_date_str = ? " | |
| 2527 | + + " and r.xl_bm = ? group by r.s_gh,r.s_name," | |
| 2654 | 2528 | + " r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm"; |
| 2529 | + objList.add(date); | |
| 2530 | + objList.add(line); | |
| 2655 | 2531 | |
| 2656 | - List<Vehicleloading> list = jdbcTemplate.query(sql, new RowMapper<Vehicleloading>() { | |
| 2532 | + List<Vehicleloading> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Vehicleloading>() { | |
| 2657 | 2533 | @Override |
| 2658 | 2534 | public Vehicleloading mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 2659 | 2535 | Vehicleloading ve = new Vehicleloading(); |
| ... | ... | @@ -2724,10 +2600,10 @@ public class FormsServiceImpl implements FormsService { |
| 2724 | 2600 | fyy=Arith.add(fyy, d.getSh()==null?0:d.getSh()); |
| 2725 | 2601 | } |
| 2726 | 2602 | } |
| 2727 | - sin.setHyl(String.valueOf(yhl)); | |
| 2728 | - sin.setJzl(String.valueOf(jzl)); | |
| 2729 | - sin.setUnyyyl(String.valueOf(fyy)); | |
| 2730 | - sin.setLs(String.valueOf(ns)); | |
| 2603 | + sin.setHyl(Arith.round(yhl, 3) + ""); | |
| 2604 | + sin.setJzl(Arith.round(jzl, 3) + ""); | |
| 2605 | + sin.setUnyyyl(Arith.round(fyy, 3) + ""); | |
| 2606 | + sin.setLs(Arith.round(ns, 3) + ""); | |
| 2731 | 2607 | } |
| 2732 | 2608 | return list; |
| 2733 | 2609 | } |
| ... | ... | @@ -2773,19 +2649,24 @@ public class FormsServiceImpl implements FormsService { |
| 2773 | 2649 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, startDate, endDate, company, subCompany); |
| 2774 | 2650 | List<Line> lineList = lineRepository.findLineBygsBm(company, subCompany, line.length()==0?"%"+line+"%":line); |
| 2775 | 2651 | |
| 2652 | + List<String> objList = new ArrayList<String>(); | |
| 2776 | 2653 | String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date" |
| 2777 | - + " from bsth_c_s_sp_info where " | |
| 2778 | - + "schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"' "; | |
| 2654 | + + " from bsth_c_s_sp_info where schedule_date >= ? and schedule_date <= ? "; | |
| 2655 | + objList.add(startDate); | |
| 2656 | + objList.add(endDate); | |
| 2779 | 2657 | if(line.trim().length() != 0){ |
| 2780 | - sql += "and xl_bm = '"+line+"' "; | |
| 2658 | + sql += "and xl_bm = ? "; | |
| 2659 | + objList.add(line); | |
| 2781 | 2660 | } |
| 2782 | 2661 | if(company.trim().length() != 0){ |
| 2783 | - sql += "and gs_bm = '"+company+"' "; | |
| 2662 | + sql += "and gs_bm = ? "; | |
| 2663 | + objList.add(company); | |
| 2784 | 2664 | } |
| 2785 | 2665 | if(subCompany.trim().length() != 0){ |
| 2786 | - sql += "and fgs_bm = '"+subCompany+"' "; | |
| 2666 | + sql += "and fgs_bm = ? "; | |
| 2667 | + objList.add(subCompany); | |
| 2787 | 2668 | } |
| 2788 | - List<SchedulePlanInfo> planList = jdbcTemplate.query(sql, new RowMapper<SchedulePlanInfo>() { | |
| 2669 | + List<SchedulePlanInfo> planList = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<SchedulePlanInfo>() { | |
| 2789 | 2670 | |
| 2790 | 2671 | @Override |
| 2791 | 2672 | public SchedulePlanInfo mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -2944,32 +2825,36 @@ public class FormsServiceImpl implements FormsService { |
| 2944 | 2825 | String rq3 = sdf1.format(d1); |
| 2945 | 2826 | |
| 2946 | 2827 | rq = rq2 + "-" + rq3; |
| 2947 | - | |
| 2948 | - String where = ""; | |
| 2949 | - if(gsbm.trim().length() != 0){ | |
| 2950 | - where += " and gs_bm = '" + gsbm + "'"; | |
| 2951 | - } | |
| 2952 | - if(fgsbm.trim().length() != 0){ | |
| 2953 | - where += " and fgs_bm = '" + fgsbm + "'"; | |
| 2954 | - } | |
| 2955 | 2828 | |
| 2829 | + List<String> objList = new ArrayList<String>(); | |
| 2956 | 2830 | String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from " |
| 2957 | 2831 | + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type" |
| 2958 | - + " from bsth_c_s_sp_info" + " where schedule_date >= '" | |
| 2959 | - + map.get("startDate").toString() + "' and schedule_date <= '" + map.get("endDate").toString() + "' and xl_bm='" | |
| 2960 | - + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')" | |
| 2961 | - + where | |
| 2962 | -// + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type " | |
| 2963 | - + " ) a left JOIN (" | |
| 2964 | - + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl " | |
| 2965 | - + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real " | |
| 2966 | - + "where schedule_date_str >= '" + map.get("startDate").toString() + "' and schedule_date_str <= '" | |
| 2967 | - + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString() | |
| 2968 | - + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " | |
| 2969 | -// + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type" | |
| 2832 | + + " from bsth_c_s_sp_info where schedule_date >= ? and schedule_date <= ? " | |
| 2833 | + + " and xl_bm = ? AND gs_bm is not null AND bc_type NOT IN ('in', 'out') "; | |
| 2834 | + objList.add(map.get("startDate").toString()); | |
| 2835 | + objList.add(map.get("endDate").toString()); | |
| 2836 | + objList.add(map.get("line").toString()); | |
| 2837 | + if(gsbm.trim().length() != 0){ | |
| 2838 | + sql += " and gs_bm = ? "; | |
| 2839 | + objList.add(gsbm); | |
| 2840 | + } | |
| 2841 | + if(fgsbm.trim().length() != 0){ | |
| 2842 | + sql += " and fgs_bm = ? "; | |
| 2843 | + objList.add(fgsbm); | |
| 2844 | + } | |
| 2845 | + sql += " ) a left JOIN (" | |
| 2846 | + + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl " | |
| 2847 | + + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, " | |
| 2848 | + + " count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real " | |
| 2849 | + + " where schedule_date_str >= ? and schedule_date_str <= ? and xl_bm = ? " | |
| 2850 | + + " AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " | |
| 2970 | 2851 | + " ) b ON t.company=b.gs_bm and t.branche_company = b.fgs_bm) b on " |
| 2971 | - + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm "; | |
| 2972 | - List<Executionrate> list = jdbcTemplate.query(sql, new RowMapper<Executionrate>() { | |
| 2852 | + + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm "; | |
| 2853 | + objList.add(map.get("startDate").toString()); | |
| 2854 | + objList.add(map.get("endDate").toString()); | |
| 2855 | + objList.add(map.get("line").toString()); | |
| 2856 | + | |
| 2857 | + List<Executionrate> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Executionrate>() { | |
| 2973 | 2858 | |
| 2974 | 2859 | @Override |
| 2975 | 2860 | public Executionrate mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -3036,27 +2921,29 @@ public class FormsServiceImpl implements FormsService { |
| 3036 | 2921 | |
| 3037 | 2922 | rq = rq2 + "-" + rq3; |
| 3038 | 2923 | |
| 3039 | - String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from " | |
| 3040 | - + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type" | |
| 3041 | - + " from bsth_c_s_sp_info" + " where schedule_date >= '" | |
| 3042 | - + map.get("startDate").toString() + "' and schedule_date <='" + map.get("endDate").toString() + "' and xl_bm='" | |
| 3043 | - + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " | |
| 3044 | - + " and gs_bm='"+ map.get("gsdmAllline").toString() + "'" | |
| 3045 | - + " and fgs_bm='"+ map.get("fgsdmAllline").toString() + "'" | |
| 3046 | -// + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type " | |
| 3047 | - + " ) a left JOIN (" | |
| 3048 | - + "SELECT COUNT(*" | |
| 3049 | - + ") as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b." | |
| 3050 | - + "xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl " | |
| 3051 | - + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real " | |
| 3052 | - + "where schedule_date_str >= '" + map.get("startDate").toString() + "' and schedule_date_str <= '" | |
| 3053 | - + map.get("endDate").toString() + "' and xl_bm='" + map.get | |
| 3054 | - ("line").toString() | |
| 3055 | - + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')" | |
| 3056 | -// + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type" | |
| 3057 | - + " ) b ON t.company=b.gs_bm and t.branche_company = b.fgs_bm) b on " | |
| 3058 | - + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm "; | |
| 3059 | - List<Allline> list = jdbcTemplate.query(sql, new RowMapper<Allline>() { | |
| 2924 | + List<String> objList = new ArrayList<String>(); | |
| 2925 | + String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name, a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc,a.jxl,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from " | |
| 2926 | + + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl,COUNT(DISTINCT cl_zbh) as jcl,bc_type" | |
| 2927 | + + " from bsth_c_s_sp_info where schedule_date >= ? and schedule_date <= ? and xl_bm = ? " | |
| 2928 | + + " AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " | |
| 2929 | + + " and gs_bm = ? and fgs_bm = ? " | |
| 2930 | + + " ) a left JOIN ( " | |
| 2931 | + + " SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name,b.sbc,b.sxl,b.scl " | |
| 2932 | + + " from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real " | |
| 2933 | + + " where schedule_date_str >= ? and schedule_date_str <= ? and xl_bm = ? " | |
| 2934 | + + " AND gs_bm is not null AND bc_type NOT IN ('in', 'out') " | |
| 2935 | + + " ) b ON t.company=b.gs_bm and t.branche_company = b.fgs_bm) b on " | |
| 2936 | + + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm "; | |
| 2937 | + objList.add(map.get("startDate").toString()); | |
| 2938 | + objList.add(map.get("endDate").toString()); | |
| 2939 | + objList.add(map.get("line").toString()); | |
| 2940 | + objList.add(map.get("gsdmAllline").toString()); | |
| 2941 | + objList.add(map.get("fgsdmAllline").toString()); | |
| 2942 | + objList.add(map.get("startDate").toString()); | |
| 2943 | + objList.add(map.get("endDate").toString()); | |
| 2944 | + objList.add(map.get("line").toString()); | |
| 2945 | + | |
| 2946 | + List<Allline> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Allline>() { | |
| 3060 | 2947 | |
| 3061 | 2948 | @Override |
| 3062 | 2949 | public Allline mapRow(ResultSet arg0, int arg1) throws SQLException { |
| ... | ... | @@ -3114,40 +3001,29 @@ public class FormsServiceImpl implements FormsService { |
| 3114 | 3001 | if(map.get("fgsdmDaily")!=null){ |
| 3115 | 3002 | fgsbm=map.get("fgsdmDaily").toString(); |
| 3116 | 3003 | } |
| 3117 | - | |
| 3118 | - /*String sql="select t.schedule_date_str," | |
| 3119 | - + " t.cl_zbh,t.j_gh,t.j_name,x.yh from (select r.schedule_date_str,r.xl_bm," | |
| 3120 | - + " r.cl_zbh,r.j_gh,r.j_name from bsth_c_s_sp_info_real r WHERE " | |
| 3121 | - + " r.xl_bm='" + map.get("line").toString() + "' " | |
| 3122 | - + " and to_days(r.schedule_date)=to_days('"+map.get("date").toString()+"') " | |
| 3123 | - + " and r.gs_bm like '%"+gsbm+"%' " | |
| 3124 | - + " and r.fgs_bm like '%"+fgsbm+"%' " | |
| 3125 | - + " GROUP BY r.schedule_date_str,r.xl_bm,r.cl_zbh,r.j_gh,r.j_name) t" | |
| 3126 | - + " left join (select * from bsth_c_ylb y where " | |
| 3127 | - + " to_days(y.rq)=to_days('"+map.get("date").toString()+"') " | |
| 3128 | - + " and y.xlbm= '" + map.get("line").toString() + "'" | |
| 3129 | - + " and y.ssgsdm like '%"+gsbm+"%' " | |
| 3130 | - + " and y.fgsdm like '%"+fgsbm+"%'" | |
| 3131 | - + " ) x" | |
| 3132 | - + " on t.cl_zbh = x.nbbm and t.j_gh=x.jsy";*/ | |
| 3133 | 3004 | |
| 3005 | + List<String> objList = new ArrayList<String>(); | |
| 3134 | 3006 | String sql="select r.schedule_date_str, " |
| 3135 | - + " r.xl_bm,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm" | |
| 3007 | + + " r.xl_bm,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm " | |
| 3136 | 3008 | + " from bsth_c_s_sp_info_real r where " |
| 3137 | - + "r.schedule_date_str = '"+map.get("date").toString()+"'"; | |
| 3009 | + + " r.schedule_date_str = ? "; | |
| 3010 | + objList.add(map.get("date").toString()); | |
| 3138 | 3011 | if(!xlbm.equals("")){ |
| 3139 | - sql += " and r.xl_bm = '"+xlbm+"'"; | |
| 3012 | + sql += " and r.xl_bm = ? "; | |
| 3013 | + objList.add(xlbm); | |
| 3140 | 3014 | } |
| 3141 | 3015 | if(!gsbm.equals("")){ |
| 3142 | - sql += " and r.gs_bm='"+gsbm+"'"; | |
| 3016 | + sql += " and r.gs_bm = ? "; | |
| 3017 | + objList.add(gsbm); | |
| 3143 | 3018 | } |
| 3144 | 3019 | if(!fgsbm.equals("")){ |
| 3145 | - sql += " and r.fgs_bm='"+fgsbm+"'"; | |
| 3020 | + sql += " and r.fgs_bm = ? "; | |
| 3021 | + objList.add(fgsbm); | |
| 3146 | 3022 | } |
| 3147 | 3023 | sql += " group by r.schedule_date_str," |
| 3148 | 3024 | + " r.xl_bm,r.cl_zbh,r.j_gh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh"; |
| 3149 | 3025 | |
| 3150 | - List<Daily> list = jdbcTemplate.query(sql, new RowMapper<Daily>() { | |
| 3026 | + List<Daily> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Daily>() { | |
| 3151 | 3027 | @Override |
| 3152 | 3028 | public Daily mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 3153 | 3029 | Daily daily = new Daily(); |
| ... | ... | @@ -3179,7 +3055,7 @@ public class FormsServiceImpl implements FormsService { |
| 3179 | 3055 | yh=Arith.add(yh, b.getHd()); |
| 3180 | 3056 | } |
| 3181 | 3057 | } |
| 3182 | - d.setYh(String.valueOf(yh)); | |
| 3058 | + d.setYh(Arith.round(yh, 3) + ""); | |
| 3183 | 3059 | for (int j = 0; j < lists.size(); j++) { |
| 3184 | 3060 | ScheduleRealInfo s=lists.get(j); |
| 3185 | 3061 | if(d.getJgh().equals(s.getjGh()) && d.getZbh().equals(s.getClZbh())){ | ... | ... |
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
| 1 | 1 | package com.bsth.service.oil.impl; |
| 2 | 2 | |
| 3 | +import java.math.RoundingMode; | |
| 3 | 4 | import java.sql.ResultSet; |
| 4 | 5 | import java.sql.SQLException; |
| 5 | 6 | import java.text.DecimalFormat; |
| ... | ... | @@ -94,8 +95,6 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 94 | 95 | String rq=sdf.format(dBefore); |
| 95 | 96 | // String rq="2017-11-02"; |
| 96 | 97 | String line=""; |
| 97 | - //保留两位小数 | |
| 98 | - DecimalFormat df = new DecimalFormat("#.000"); | |
| 99 | 98 | // TODO Auto-generated method stub |
| 100 | 99 | Map<String, Object> newMap=new HashMap<String,Object>(); |
| 101 | 100 | //当天DLB信息 |
| ... | ... | @@ -176,7 +175,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 176 | 175 | |
| 177 | 176 | t.setNbbm(map.get("clZbh").toString()); |
| 178 | 177 | t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString()); |
| 179 | - t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString())))); | |
| 178 | + t.setZlc(map.get("totalKilometers")==null?0.0:Arith.round(map.get("totalKilometers").toString(), 3)); | |
| 180 | 179 | t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString()); |
| 181 | 180 | t.setLinename(map.get("lineName")==null?"":map.get("lineName").toString()); |
| 182 | 181 | t.setJcsx(Integer.parseInt(map.get("seqNumber").toString())); |
| ... | ... | @@ -211,6 +210,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 211 | 210 | @Transactional |
| 212 | 211 | @Override |
| 213 | 212 | public Map<String, Object> obtain(Map<String, Object> map2) throws Exception{ |
| 213 | + | |
| 214 | 214 | Map<String, Object> newMap = new HashMap<String, Object>(); |
| 215 | 215 | try { |
| 216 | 216 | Date date=new Date(); |
| ... | ... | @@ -239,8 +239,6 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 239 | 239 | nbbm=map2.get("nbbm_eq").toString(); |
| 240 | 240 | } |
| 241 | 241 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 242 | - // 保留两位小数 | |
| 243 | - DecimalFormat df = new DecimalFormat("#.000"); | |
| 244 | 242 | // TODO Auto-generated method stub |
| 245 | 243 | // 当天DLB信息 |
| 246 | 244 | List<Dlb> dlList = this.listOrderBy(rq,gsbm,fgsbm,"",nbbm,"nbbm"); |
| ... | ... | @@ -251,7 +249,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 251 | 249 | for (int i = 0; i < listpbs.size(); i++) { |
| 252 | 250 | String cl=listpbs.get(i).get("clZbh").toString(); |
| 253 | 251 | Double lc= listpbs.get(i).get("totalKilometers") == null ? 0.0 |
| 254 | - : Double.parseDouble(listpbs.get(i).get("totalKilometers").toString()); | |
| 252 | + : Arith.round(listpbs.get(i).get("totalKilometers").toString(), 3); | |
| 255 | 253 | if(lcMap.get(cl)==null){ |
| 256 | 254 | lcMap.put(cl, lc); |
| 257 | 255 | }else{ |
| ... | ... | @@ -261,18 +259,6 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 261 | 259 | } |
| 262 | 260 | } |
| 263 | 261 | |
| 264 | -// Map<String, Double> shMap=new HashMap<String,Double>(); | |
| 265 | -// for (int i = 0; i < dlList.size(); i++) { | |
| 266 | -// Dlb dlb=dlList.get(i); | |
| 267 | -// String cl=dlb.getNbbm(); | |
| 268 | -// if(shMap.get(cl)==null){ | |
| 269 | -// shMap.put(cl, dlb.getSh()); | |
| 270 | -// }else{ | |
| 271 | -// double sh=shMap.get(cl); | |
| 272 | -// shMap.remove(cl); | |
| 273 | -// shMap.put(cl, Arith.add(sh, dlb.getSh())); | |
| 274 | -// } | |
| 275 | -// } | |
| 276 | 262 | List<Jdl> jdlList=jdlRepository.JdlList(rq); |
| 277 | 263 | String sxtj=map2.get("sxtj").toString(); |
| 278 | 264 | if(sxtj.equals("0")){ |
| ... | ... | @@ -327,7 +313,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 327 | 313 | if(newMap_.get(map_.get("clZbh").toString())==null){ |
| 328 | 314 | newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString()); |
| 329 | 315 | //车辆总里程 |
| 330 | - double zlc =lcMap.get(map_.get("clZbh").toString()); | |
| 316 | + double zlc = lcMap.get(map_.get("clZbh").toString()); | |
| 331 | 317 | //车辆总加电量 |
| 332 | 318 | double zjzl = 0.0; |
| 333 | 319 | for (int i = 0; i < jdlList.size(); i++) { |
| ... | ... | @@ -335,16 +321,13 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 335 | 321 | if(map_.get("clZbh").toString().equals(jdl.getNbbm()) |
| 336 | 322 | &&map_.get("company").toString().equals(jdl.getGsBm()) |
| 337 | 323 | &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){ |
| 338 | - zjzl = Arith.add(zjzl,jdl.getJdl()); | |
| 324 | + zjzl = Arith.add(zjzl, jdl.getJdl()); | |
| 339 | 325 | } |
| 340 | 326 | } |
| 341 | -// double clsh=0.0; | |
| 342 | -// if(shMap.get(map_.get("clZbh").toString())==null){ | |
| 343 | -// clsh=0.0; | |
| 344 | -// }else{ | |
| 345 | -// clsh=shMap.get(map_.get("clZbh").toString()); | |
| 346 | -// } | |
| 347 | -// zjzl =Arith.sub(zjzl, clsh); | |
| 327 | + | |
| 328 | + zjzl = Arith.round(zjzl, 3); // 保留三位小数,四舍五入 | |
| 329 | + System.out.println("zjzl="+zjzl); | |
| 330 | + | |
| 348 | 331 | Double nextJzyl = 0.0; |
| 349 | 332 | for (int i = 0; i < listpb.size(); i++) { |
| 350 | 333 | Map<String, Object> map = listpb.get(i); |
| ... | ... | @@ -373,18 +356,19 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 373 | 356 | } |
| 374 | 357 | } |
| 375 | 358 | } |
| 376 | - Double lc= Double.parseDouble(map.get("totalKilometers").toString()); | |
| 359 | + Double lc = Arith.round(map.get("totalKilometers").toString(), 3); | |
| 360 | + System.out.println("lc="+lc); | |
| 377 | 361 | if(map.get("seqNumber").toString().equals("1")){ |
| 378 | 362 | // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量 |
| 379 | 363 | Double dh=0.0; |
| 380 | 364 | if(zlc>0){ |
| 381 | - dh = Double.parseDouble(df.format(zjzl * (lc / zlc))); | |
| 365 | + dh = Arith.round((zjzl * (lc / zlc)), 3); | |
| 366 | + System.out.println("dh="+dh); | |
| 382 | 367 | } |
| 383 | - nextJzyl =Arith.sub(zjzl,dh); | |
| 368 | + nextJzyl = Arith.sub(zjzl, dh); | |
| 384 | 369 | if(zlc>0){ |
| 385 | -// long l=Math.round(nextJzyl); | |
| 386 | 370 | double ylxs=nextJzyl; |
| 387 | - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs)); | |
| 371 | + dh = Arith.add(dh, Arith.sub(nextJzyl, ylxs)); | |
| 388 | 372 | if(dh<0){ |
| 389 | 373 | t.setHd(0.0); |
| 390 | 374 | t.setCdl(0.0); |
| ... | ... | @@ -401,9 +385,9 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 401 | 385 | }else{ |
| 402 | 386 | Double dh=0.0; |
| 403 | 387 | if(zlc>0){ |
| 404 | - dh = Double.parseDouble(df.format(zjzl * (lc / zlc))); | |
| 388 | + dh = Arith.round((zjzl * (lc / zlc)), 3); | |
| 405 | 389 | } |
| 406 | - nextJzyl =Arith.sub( nextJzyl,dh); | |
| 390 | + nextJzyl = Arith.sub(nextJzyl, dh); | |
| 407 | 391 | if(zlc>0){ |
| 408 | 392 | // long l=0l; |
| 409 | 393 | double ylxs=0.0; |
| ... | ... | @@ -416,7 +400,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 416 | 400 | } |
| 417 | 401 | |
| 418 | 402 | } |
| 419 | - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs)); | |
| 403 | + dh=Arith.add(dh, Arith.sub(nextJzyl, ylxs)); | |
| 420 | 404 | if(dh<0){ |
| 421 | 405 | t.setHd(0.0); |
| 422 | 406 | t.setCdl(0.0); |
| ... | ... | @@ -436,7 +420,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 436 | 420 | t.setNbbm(map.get("clZbh").toString()); |
| 437 | 421 | t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString()); |
| 438 | 422 | t.setZlc(map.get("totalKilometers") == null ? 0.0 |
| 439 | - : Double.parseDouble(map.get("totalKilometers").toString())); | |
| 423 | + : Arith.round(map.get("totalKilometers").toString(), 3)); | |
| 440 | 424 | t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString()); |
| 441 | 425 | t.setLinename(map.get("lineName")==null?"":map.get("lineName").toString()); |
| 442 | 426 | t.setJcsx(Integer.parseInt(map.get("seqNumber").toString())); |
| ... | ... | @@ -539,10 +523,6 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 539 | 523 | @Override |
| 540 | 524 | public Map<String, Object> checkDl(Map<String, Object> map) { |
| 541 | 525 | Map<String, Object> newMap=new HashMap<String,Object>(); |
| 542 | -// String xlbm=""; | |
| 543 | -// if(map.get("xlbm_like")!=null){ | |
| 544 | -// xlbm=map.get("xlbm_like").toString(); | |
| 545 | -// } | |
| 546 | 526 | // TODO Auto-generated method stub |
| 547 | 527 | |
| 548 | 528 | List<Cars> carsList = carsRepository.findCars(); |
| ... | ... | @@ -573,12 +553,19 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 573 | 553 | nbbm=map.get("nbbm_eq").toString(); |
| 574 | 554 | } |
| 575 | 555 | |
| 576 | - String sql="select * from bsth_c_jdl j where j.gs_bm ='"+gsbm+"' " | |
| 577 | - + " and j.fgs_bm ='"+fgsbm+"' and rq ='"+rq+"' " | |
| 578 | - + "and nbbm not in (select nbbm from bsth_c_dlb d" | |
| 579 | - + " where ssgsdm ='"+gsbm+"' and fgsdm ='"+fgsbm+"'" | |
| 580 | - + " and rq='"+rq+"')"; | |
| 581 | - List<Jdl> listJdl=jdbcTemplate.query(sql, | |
| 556 | + List<String> objList = new ArrayList<String>(); | |
| 557 | + String sql="select * from bsth_c_jdl j where j.gs_bm = ? " | |
| 558 | + + " and j.fgs_bm = ? and rq = ? " | |
| 559 | + + " and nbbm not in (select nbbm from bsth_c_dlb d " | |
| 560 | + + " where ssgsdm = ? and fgsdm = ?" | |
| 561 | + + " and rq = ?)"; | |
| 562 | + objList.add(gsbm); | |
| 563 | + objList.add(fgsbm); | |
| 564 | + objList.add(rq); | |
| 565 | + objList.add(gsbm); | |
| 566 | + objList.add(fgsbm); | |
| 567 | + objList.add(rq); | |
| 568 | + List<Jdl> listJdl=jdbcTemplate.query(sql, objList.toArray(), | |
| 582 | 569 | new RowMapper<Jdl>(){ |
| 583 | 570 | @Override |
| 584 | 571 | public Jdl mapRow(ResultSet rs, int rowNum) throws SQLException { |
| ... | ... | @@ -880,22 +867,43 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 880 | 867 | return newMap; |
| 881 | 868 | } |
| 882 | 869 | |
| 883 | - public List<Dlb> listOrderBy(String rq,String gsdm, | |
| 870 | + | |
| 871 | + private List<Dlb> listOrderBy(String rq,String gsdm, | |
| 884 | 872 | String fgsdm,String xlbm,String nbbm, |
| 885 | 873 | String px) { |
| 886 | 874 | // TODO Auto-generated method stub |
| 887 | - String sql="SELECT * FROM bsth_c_dlb " | |
| 888 | - + " where rq='"+rq+"' and ssgsdm like '%"+gsdm+"%' " | |
| 889 | - + " and fgsdm like '%"+fgsdm+"%'"; | |
| 890 | - if(xlbm.equals("")){ | |
| 891 | - sql+= " and xlbm like '%"+xlbm+"%' "; | |
| 892 | - }else{ | |
| 893 | - sql+= " and xlbm = '"+xlbm+"' "; | |
| 875 | + List<String> objList = new ArrayList<String>(); | |
| 876 | + String sql = "SELECT * FROM bsth_c_dlb where rq = ? "; | |
| 877 | + objList.add(rq); | |
| 878 | + if(!gsdm.equals("")){ | |
| 879 | + sql += " and ssgsdm = ? "; | |
| 880 | + objList.add(gsdm); | |
| 881 | + if(!fgsdm.equals("")){ | |
| 882 | + sql += " and fgsdm = ? "; | |
| 883 | + objList.add(fgsdm); | |
| 884 | + } | |
| 885 | + } | |
| 886 | + if(!xlbm.equals("")){ | |
| 887 | + sql += " and xlbm = ? "; | |
| 888 | + objList.add(xlbm); | |
| 889 | + } | |
| 890 | + if(!nbbm.equals("")){ | |
| 891 | + sql += " and nbbm = ? "; | |
| 892 | + objList.add(nbbm); | |
| 893 | + } | |
| 894 | + // 排序字段,本函数仅当前类使用。'px'值为固定值;用switch固定可选值防止sql注入 | |
| 895 | + switch (px) { | |
| 896 | + case "jhsj": | |
| 897 | + sql += " order by jhsj asc "; | |
| 898 | + break; | |
| 899 | + case "nbbm": | |
| 900 | + sql += " order by nbbm asc "; | |
| 901 | + break; | |
| 902 | + default: | |
| 903 | + break; | |
| 894 | 904 | } |
| 895 | - | |
| 896 | - sql += "and nbbm like '%"+nbbm+"%' order by "+px+" asc "; | |
| 897 | 905 | |
| 898 | - List<Dlb> list = jdbcTemplate.query(sql, new RowMapper<Dlb>() { | |
| 906 | + List<Dlb> list = jdbcTemplate.query(sql, objList.toArray(), new RowMapper<Dlb>() { | |
| 899 | 907 | @Override |
| 900 | 908 | public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 901 | 909 | Dlb y = new Dlb(); |
| ... | ... | @@ -1025,8 +1033,6 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1025 | 1033 | // TODO Auto-generated method stub |
| 1026 | 1034 | Map<String, List<Dlb>> mapList=new HashMap<String,List<Dlb>>(); |
| 1027 | 1035 | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); |
| 1028 | - // 保留两位小数 | |
| 1029 | - DecimalFormat df = new DecimalFormat("#.000"); | |
| 1030 | 1036 | List<Dlb> dlbList=this.listOrderBy(date,gsdm,fgsdm,"","","nbbm"); |
| 1031 | 1037 | List<Dlb> dlbList_upd=new ArrayList<Dlb>(); |
| 1032 | 1038 | List<Dlb> dlbList_del=new ArrayList<Dlb>(); |
| ... | ... | @@ -1044,7 +1050,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1044 | 1050 | &&t.getXlbm().equals(m.get("xlBm").toString()) |
| 1045 | 1051 | &&t.getLp().equals(m.get("lpName").toString())){ |
| 1046 | 1052 | //该条记录不用删除 |
| 1047 | - fage =false; | |
| 1053 | + fage = false; | |
| 1048 | 1054 | dlbList_upd.add(t); |
| 1049 | 1055 | } |
| 1050 | 1056 | } |
| ... | ... | @@ -1059,9 +1065,9 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1059 | 1065 | mapList.put("delList", dlbList_del); |
| 1060 | 1066 | Map<String, Double> lcMap=new HashMap<String,Double>(); |
| 1061 | 1067 | for (int i = 0; i < listpbDc.size(); i++) { |
| 1062 | - String cl=listpbDc.get(i).get("clZbh").toString(); | |
| 1063 | - Double lc= listpbDc.get(i).get("totalKilometers") == null ? 0.0 | |
| 1064 | - : Double.parseDouble(listpbDc.get(i).get("totalKilometers").toString()); | |
| 1068 | + String cl = listpbDc.get(i).get("clZbh").toString(); | |
| 1069 | + Double lc = listpbDc.get(i).get("totalKilometers") == null ? 0.0 | |
| 1070 | + : Arith.round(listpbDc.get(i).get("totalKilometers").toString(), 3); | |
| 1065 | 1071 | if(lcMap.get(cl)==null){ |
| 1066 | 1072 | lcMap.put(cl, lc); |
| 1067 | 1073 | }else{ |
| ... | ... | @@ -1094,7 +1100,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1094 | 1100 | if(newMap_.get(map_.get("clZbh").toString())==null){ |
| 1095 | 1101 | newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString()); |
| 1096 | 1102 | //车辆总里程 |
| 1097 | - double zlc =lcMap.get(map_.get("clZbh").toString()); | |
| 1103 | + double zlc = Arith.round(lcMap.get(map_.get("clZbh").toString()), 3); | |
| 1098 | 1104 | //车辆总加电量 |
| 1099 | 1105 | double zjzl = 0.0; |
| 1100 | 1106 | for (int i = 0; i < jdlList.size(); i++) { |
| ... | ... | @@ -1129,21 +1135,21 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1129 | 1135 | } |
| 1130 | 1136 | |
| 1131 | 1137 | } |
| 1132 | - Double lc= Double.parseDouble(map.get("totalKilometers").toString()); | |
| 1138 | + Double lc = Arith.round(map.get("totalKilometers").toString(), 3); | |
| 1133 | 1139 | if(map.get("seqNumber").toString().equals("1")){ |
| 1134 | 1140 | // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量 |
| 1135 | 1141 | Double dh=0.0; |
| 1136 | 1142 | if(zlc>0){ |
| 1137 | - dh = Double.parseDouble(df.format(zjzl * (lc / zlc))); | |
| 1143 | + dh = Arith.round((zjzl * (lc / zlc)), 3); | |
| 1138 | 1144 | } |
| 1139 | - nextJzyl =Arith.sub(zjzl,dh); | |
| 1145 | + nextJzyl = Arith.sub(zjzl, dh); | |
| 1140 | 1146 | if(zlc>0){ |
| 1141 | 1147 | // long l=Math.round(nextJzyl); |
| 1142 | - double ylxs=nextJzyl; | |
| 1143 | - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs)); | |
| 1148 | + double ylxs = nextJzyl; | |
| 1149 | + dh = Arith.round(Arith.add(dh, Arith.sub(nextJzyl, ylxs)), 3); | |
| 1144 | 1150 | if(dh<0){ |
| 1145 | - t.setHd(0.0); | |
| 1146 | - t.setCdl(0.0); | |
| 1151 | + t.setHd(0.000); | |
| 1152 | + t.setCdl(0.000); | |
| 1147 | 1153 | nextJzyl=Arith.add(ylxs, dh); |
| 1148 | 1154 | }else{ |
| 1149 | 1155 | t.setHd(dh); |
| ... | ... | @@ -1151,18 +1157,18 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1151 | 1157 | nextJzyl=ylxs; |
| 1152 | 1158 | } |
| 1153 | 1159 | }else{ |
| 1154 | - t.setHd(0.0); | |
| 1155 | - t.setCdl(0.0); | |
| 1160 | + t.setHd(0.000); | |
| 1161 | + t.setCdl(0.000); | |
| 1156 | 1162 | } |
| 1157 | 1163 | }else{ |
| 1158 | - Double dh=0.0; | |
| 1164 | + Double dh = 0.0; | |
| 1159 | 1165 | if(zlc>0){ |
| 1160 | - dh = Double.parseDouble(df.format(zjzl * (lc / zlc))); | |
| 1166 | + dh = Arith.round((zjzl * (lc / zlc)), 3); | |
| 1161 | 1167 | } |
| 1162 | - nextJzyl =Arith.sub( nextJzyl,dh); | |
| 1168 | + nextJzyl = Arith.sub(nextJzyl, dh); | |
| 1163 | 1169 | if(zlc>0){ |
| 1164 | 1170 | // long l=0l; |
| 1165 | - double ylxs=0.0; | |
| 1171 | + double ylxs = 0.0; | |
| 1166 | 1172 | if(i==listpbDc.size()-1){ |
| 1167 | 1173 | // ylxs=czyl; |
| 1168 | 1174 | }else{ |
| ... | ... | @@ -1172,10 +1178,10 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1172 | 1178 | } |
| 1173 | 1179 | |
| 1174 | 1180 | } |
| 1175 | - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs)); | |
| 1181 | + dh = Arith.round(Arith.add(dh, Arith.sub(nextJzyl, ylxs)), 3); | |
| 1176 | 1182 | if(dh<0){ |
| 1177 | - t.setHd(0.0); | |
| 1178 | - t.setCdl(0.0); | |
| 1183 | + t.setHd(0.000); | |
| 1184 | + t.setCdl(0.000); | |
| 1179 | 1185 | nextJzyl=Arith.add(ylxs, dh); |
| 1180 | 1186 | }else{ |
| 1181 | 1187 | t.setHd(dh); |
| ... | ... | @@ -1183,8 +1189,8 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1183 | 1189 | nextJzyl=ylxs; |
| 1184 | 1190 | } |
| 1185 | 1191 | }else{ |
| 1186 | - t.setHd(0.0); | |
| 1187 | - t.setCdl(0.0); | |
| 1192 | + t.setHd(0.000); | |
| 1193 | + t.setCdl(0.000); | |
| 1188 | 1194 | } |
| 1189 | 1195 | } |
| 1190 | 1196 | t.setCzcd(100.0); |
| ... | ... | @@ -1192,7 +1198,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1192 | 1198 | t.setNbbm(map.get("clZbh").toString()); |
| 1193 | 1199 | t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString()); |
| 1194 | 1200 | t.setZlc(map.get("totalKilometers") == null ? 0.0 |
| 1195 | - : Double.parseDouble(map.get("totalKilometers").toString())); | |
| 1201 | + : Arith.round(map.get("totalKilometers").toString(), 3)); | |
| 1196 | 1202 | t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString()); |
| 1197 | 1203 | t.setJcsx(Integer.parseInt(map.get("seqNumber").toString())); |
| 1198 | 1204 | t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString()); |
| ... | ... | @@ -1200,7 +1206,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1200 | 1206 | t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString()); |
| 1201 | 1207 | t.setRq(sdf.parse(date)); |
| 1202 | 1208 | t.setLp(map.get("lpName").toString()); |
| 1203 | - t.setCdl(Arith.add(t.getCdl(), t.getSh())); | |
| 1209 | + t.setCdl(Arith.round(Arith.add(t.getCdl(), t.getSh()), 3)); | |
| 1204 | 1210 | if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){ |
| 1205 | 1211 | if(type.equals("add")){ |
| 1206 | 1212 | t.setCreatetime(new Date()); |
| ... | ... | @@ -1210,10 +1216,10 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 1210 | 1216 | } |
| 1211 | 1217 | |
| 1212 | 1218 | if(t.getHd()<0){ |
| 1213 | - t.setHd(0.0); | |
| 1219 | + t.setHd(0.000); | |
| 1214 | 1220 | } |
| 1215 | 1221 | if(t.getCdl()<0){ |
| 1216 | - t.setCdl(0.0); | |
| 1222 | + t.setCdl(0.000); | |
| 1217 | 1223 | } |
| 1218 | 1224 | updateDlb.add(t); |
| 1219 | 1225 | } |
| ... | ... | @@ -1251,3 +1257,5 @@ class NbbmJcsxMap implements Comparator<Map<String, Object>>{ |
| 1251 | 1257 | return (o1.get("clZbh").toString()+o1.get("seqNumber").toString()).compareTo((o2.get("clZbh").toString()+o1.get("seqNumber").toString())); |
| 1252 | 1258 | } |
| 1253 | 1259 | } |
| 1260 | + | |
| 1261 | +//2025年三月工单:电量保留三位小数,四舍五入 | ... | ... |
src/main/java/com/bsth/service/oil/impl/JdlServiceImpl.java
| ... | ... | @@ -2,6 +2,8 @@ package com.bsth.service.oil.impl; |
| 2 | 2 | |
| 3 | 3 | import java.io.File; |
| 4 | 4 | import java.io.FileInputStream; |
| 5 | +import java.math.BigDecimal; | |
| 6 | +import java.math.RoundingMode; | |
| 5 | 7 | import java.text.DecimalFormat; |
| 6 | 8 | import java.text.SimpleDateFormat; |
| 7 | 9 | import java.util.ArrayList; |
| ... | ... | @@ -23,6 +25,7 @@ import com.bsth.entity.oil.Jdl; |
| 23 | 25 | import com.bsth.repository.oil.JdlRepository; |
| 24 | 26 | import com.bsth.service.impl.BaseServiceImpl; |
| 25 | 27 | import com.bsth.service.oil.JdlService; |
| 28 | +import com.bsth.util.Arith; | |
| 26 | 29 | import com.bsth.util.ReportUtils; |
| 27 | 30 | |
| 28 | 31 | @Service |
| ... | ... | @@ -35,7 +38,6 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl |
| 35 | 38 | public String importExcel(File file, String gsbm, String gsName, String fgsbm, String fgsName) { |
| 36 | 39 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 37 | 40 | SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| 38 | - DecimalFormat df = new DecimalFormat("######0.00"); | |
| 39 | 41 | List<String> textList = new ArrayList<String>(); |
| 40 | 42 | try { |
| 41 | 43 | POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file)); |
| ... | ... | @@ -83,14 +85,16 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl |
| 83 | 85 | rq = sdf.format(new Date()); |
| 84 | 86 | } |
| 85 | 87 | |
| 88 | + String jdlStr = new BigDecimal(Arith.round(jdl, 3)).toString(); // 保留三位小数,四舍五入 | |
| 89 | + | |
| 86 | 90 | List<Double> jdl_ = repository.queryBySame(gsbm, fgsbm, rq, nbbm); |
| 87 | 91 | |
| 88 | 92 | if(jdl_.size() == 0){ |
| 89 | 93 | repository.insertData(gsbm, gsName, fgsbm, fgsName, rq, nbbm, |
| 90 | - df.format(jdl), jdz, remarks, sd.format(new Date())); | |
| 94 | + jdlStr, jdz, remarks, sd.format(new Date())); | |
| 91 | 95 | }else{ |
| 92 | 96 | // jdl += jdl_.get(0); |
| 93 | - repository.UpdateJdl(df.format(jdl), sd.format(new Date()), gsbm, fgsbm, rq, nbbm); | |
| 97 | + repository.UpdateJdl(jdlStr, sd.format(new Date()), gsbm, fgsbm, rq, nbbm); | |
| 94 | 98 | } |
| 95 | 99 | } |
| 96 | 100 | wb.close(); |
| ... | ... | @@ -154,3 +158,5 @@ public class JdlServiceImpl extends BaseServiceImpl<Jdl, Integer> implements Jdl |
| 154 | 158 | } |
| 155 | 159 | |
| 156 | 160 | } |
| 161 | + | |
| 162 | +// 2025年三月工单:电量保留三位小数,四舍五入 | ... | ... |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| ... | ... | @@ -2,6 +2,7 @@ package com.bsth.service.report.impl; |
| 2 | 2 | import com.bsth.common.ResponseCode; |
| 3 | 3 | import com.bsth.data.BasicData; |
| 4 | 4 | import com.bsth.entity.Business; |
| 5 | +import com.bsth.entity.Cars; | |
| 5 | 6 | import com.bsth.entity.Line; |
| 6 | 7 | import com.bsth.entity.Personnel; |
| 7 | 8 | import com.bsth.entity.StationRoute; |
| ... | ... | @@ -14,6 +15,8 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 14 | 15 | import com.bsth.entity.sys.Dictionary; |
| 15 | 16 | import com.bsth.entity.sys.Interval; |
| 16 | 17 | import com.bsth.repository.BusinessRepository; |
| 18 | +import com.bsth.repository.CarDeviceRepository; | |
| 19 | +import com.bsth.repository.CarsRepository; | |
| 17 | 20 | import com.bsth.repository.LineRepository; |
| 18 | 21 | import com.bsth.repository.LsStationRouteRepository; |
| 19 | 22 | import com.bsth.repository.StationRouteRepository; |
| ... | ... | @@ -85,6 +88,10 @@ public class ReportServiceImpl implements ReportService{ |
| 85 | 88 | CalcWaybillService calcWaybillService; |
| 86 | 89 | @Autowired |
| 87 | 90 | BusinessRepository businessRepository; |
| 91 | + @Autowired | |
| 92 | + CarDeviceRepository carDeviceRepository; | |
| 93 | + @Autowired | |
| 94 | + CarsRepository carsRepository; | |
| 88 | 95 | |
| 89 | 96 | @Override |
| 90 | 97 | public List<ScheduleRealInfo> queryListBczx(String line, String date,String clzbh) { |
| ... | ... | @@ -180,19 +187,73 @@ public class ReportServiceImpl implements ReportService{ |
| 180 | 187 | |
| 181 | 188 | public List<ArrivalInfo> resultSet2Set(ResultSet rs) throws SQLException{ |
| 182 | 189 | List<ArrivalInfo> list = new ArrayList<>(); |
| 183 | - | |
| 190 | + | |
| 191 | + List<Cars> findCars = carsRepository.findCars(); | |
| 192 | + Map<String, Cars> carDeviceNoMap = new HashMap<String, Cars>(); | |
| 193 | + for(Cars c : findCars){ | |
| 194 | + String deviceNo = c.getEquipmentCode(); | |
| 195 | + deviceNo = deviceNo.replaceAll("BF-", ""); | |
| 196 | + carDeviceNoMap.put(deviceNo, c); | |
| 197 | + } | |
| 198 | + | |
| 199 | + List<Object[]> selectCarHistoryDevice = carDeviceRepository.selectCarHistoryDeviceNo(); | |
| 200 | + Map<String, List<Map<String, Object>>> deviceNoMap = new HashMap<String, List<Map<String,Object>>>(); | |
| 201 | + for(Object[] obj : selectCarHistoryDevice){ | |
| 202 | + String nbbm = obj[0].toString(); | |
| 203 | + String pzh = obj[1].toString(); | |
| 204 | + String deviceNo = obj[2].toString(); | |
| 205 | + deviceNo = deviceNo.replaceAll("BF-", ""); | |
| 206 | + Date qyrq = (Date)obj[3]; | |
| 207 | + String state = obj[4].toString(); | |
| 208 | + Map<String, Object> temp = new HashMap<String, Object>(); | |
| 209 | + temp.put("nbbm", nbbm); | |
| 210 | + temp.put("pzh", pzh); | |
| 211 | + temp.put("deviceNo", deviceNo); | |
| 212 | + temp.put("qyrq", qyrq); | |
| 213 | + temp.put("state", state); | |
| 214 | + if(!deviceNoMap.containsKey(deviceNo)){ | |
| 215 | + deviceNoMap.put(deviceNo, new ArrayList<Map<String,Object>>()); | |
| 216 | + } | |
| 217 | + deviceNoMap.get(deviceNo).add(temp); | |
| 218 | + } | |
| 219 | + | |
| 184 | 220 | ArrivalInfo arr; |
| 185 | 221 | while(rs.next()){ |
| 186 | 222 | arr = new ArrivalInfo(); |
| 187 | - arr.setDeviceId(rs.getString("device_id")); | |
| 188 | - String nbbm=BasicData.deviceId2NbbmMap.get(arr.getDeviceId()); | |
| 189 | - arr.setNbbm(nbbm); | |
| 190 | - arr.setPzh(BasicData.nbbmCompanyPlateMap.get(nbbm)); | |
| 223 | + String deviceNo = rs.getString("device_id"); | |
| 224 | + arr.setDeviceId(deviceNo); | |
| 225 | + String ts = rs.getString("ts"); | |
| 226 | + Date gpsDate = new Date(Long.valueOf(ts).longValue()); | |
| 227 | + if(deviceNoMap.containsKey(deviceNo)){ | |
| 228 | + for(Map<String, Object> m : deviceNoMap.get(deviceNo)){ | |
| 229 | + Date qyrq = (Date)m.get("qyrq"); | |
| 230 | + String state = m.get("state").toString(); | |
| 231 | + if("off".equals(state) && qyrq.getTime() > gpsDate.getTime()){ // 启用时间前的旧设备号,旧设备号里符合时间的最后一个 | |
| 232 | + arr.setNbbm(m.get("nbbm").toString()); | |
| 233 | + arr.setPzh(m.get("pzh").toString()); | |
| 234 | + } else if("on".equals(state) && qyrq.getTime() <= gpsDate.getTime()){ // 启用时间后的新设备号,新设备号符合时间的第一个 | |
| 235 | + if(StringUtils.isEmpty(arr.getNbbm())){ | |
| 236 | + arr.setNbbm(m.get("nbbm").toString()); | |
| 237 | + arr.setPzh(m.get("pzh").toString()); | |
| 238 | + } | |
| 239 | + } | |
| 240 | + } | |
| 241 | + } | |
| 242 | + if(StringUtils.isEmpty(arr.getNbbm()) && carDeviceNoMap.containsKey(deviceNo)){ | |
| 243 | + Cars cars = carDeviceNoMap.get(deviceNo); | |
| 244 | + arr.setNbbm(cars.getInsideCode()); | |
| 245 | + arr.setPzh(cars.getCarPlate()); | |
| 246 | + } | |
| 247 | + if(StringUtils.isEmpty(arr.getNbbm()) && BasicData.deviceId2NbbmMap.containsKey(arr.getDeviceId())){ | |
| 248 | + String nbbm=BasicData.deviceId2NbbmMap.get(arr.getDeviceId()); | |
| 249 | + arr.setNbbm(nbbm); | |
| 250 | + arr.setPzh(BasicData.nbbmCompanyPlateMap.get(nbbm)); | |
| 251 | + } | |
| 191 | 252 | if(null == arr.getNbbm()){ |
| 192 | 253 | logger.warn("未注册的设备号," + arr.getDeviceId()); |
| 193 | 254 | continue; |
| 194 | 255 | } |
| 195 | - | |
| 256 | + | |
| 196 | 257 | arr.setTs(rs.getLong("ts")); |
| 197 | 258 | arr.setLineCode(rs.getString("line_id")); |
| 198 | 259 | arr.setUpDown(rs.getInt("up_down")); |
| ... | ... | @@ -202,7 +263,7 @@ public class ReportServiceImpl implements ReportService{ |
| 202 | 263 | arr.setCreateDate(rs.getLong("create_timestamp")); |
| 203 | 264 | arr.setWeeksYear(rs.getInt("weeks_year")); |
| 204 | 265 | arr.setEnable(true); |
| 205 | - | |
| 266 | + | |
| 206 | 267 | list.add(arr); |
| 207 | 268 | } |
| 208 | 269 | return list; |
| ... | ... | @@ -297,7 +358,6 @@ public class ReportServiceImpl implements ReportService{ |
| 297 | 358 | |
| 298 | 359 | String sql = "select * from bsth_c_arrival_info_"+year+" where weeks_year in ("+tempStr+") " |
| 299 | 360 | + " AND line_id=? AND up_down=? AND stop_no like ? AND ts between ? AND ? order by ts"; |
| 300 | - System.out.println(sql); | |
| 301 | 361 | try{ |
| 302 | 362 | conn = DBUtils_MS.getConnection(); |
| 303 | 363 | ps = conn.prepareStatement(sql); |
| ... | ... | @@ -3117,8 +3177,6 @@ public class ReportServiceImpl implements ReportService{ |
| 3117 | 3177 | map.put("nbbm", arg0.getString("cl_zbh")); |
| 3118 | 3178 | map.put("jGh", arg0.getString("j_gh")); |
| 3119 | 3179 | map.put("sGh", arg0.getString("s_gh")); |
| 3120 | -// map.put("jName", arg0.getString("j_name")); | |
| 3121 | -// map.put("sName", arg0.getString("s_name")); | |
| 3122 | 3180 | return map; |
| 3123 | 3181 | } |
| 3124 | 3182 | }); |
| ... | ... | @@ -3187,8 +3245,8 @@ public class ReportServiceImpl implements ReportService{ |
| 3187 | 3245 | newMap.put("yhl", yhl); |
| 3188 | 3246 | newMap.put("jzl", jzl); |
| 3189 | 3247 | newMap.put("hyl", hyl); |
| 3190 | - newMap.put("dhl", dhl); | |
| 3191 | - newMap.put("cdl", cdl); | |
| 3248 | + newMap.put("dhl", Arith.round(dhl, 3)); | |
| 3249 | + newMap.put("cdl", Arith.round(cdl, 3)); | |
| 3192 | 3250 | lMap.add(newMap); |
| 3193 | 3251 | }else{ |
| 3194 | 3252 | Map<String, Object> newMap=staticTj(lists, ""); |
| ... | ... | @@ -3222,13 +3280,13 @@ public class ReportServiceImpl implements ReportService{ |
| 3222 | 3280 | } |
| 3223 | 3281 | double div=0.0; |
| 3224 | 3282 | if(lc>0){ |
| 3225 | - div=Arith.div(zlc, lc,2); | |
| 3283 | + div=Arith.div(zlc, lc, 2); | |
| 3226 | 3284 | } |
| 3227 | - newMap.put("yhl", yhl*div); | |
| 3228 | - newMap.put("jzl", jzl*div); | |
| 3229 | - newMap.put("hyl", hyl*div); | |
| 3230 | - newMap.put("dhl", dhl*div); | |
| 3231 | - newMap.put("cdl", cdl*div); | |
| 3285 | + newMap.put("yhl", Arith.round(yhl*div, 2)); | |
| 3286 | + newMap.put("jzl", Arith.round(jzl*div, 2)); | |
| 3287 | + newMap.put("hyl", Arith.round(hyl*div, 2)); | |
| 3288 | + newMap.put("dhl", Arith.round(dhl*div, 3)); | |
| 3289 | + newMap.put("cdl", Arith.round(cdl*div, 3)); | |
| 3232 | 3290 | lMaps.add(newMap); |
| 3233 | 3291 | } |
| 3234 | 3292 | ... | ... |
src/main/resources/static/pages/electricity/list/list.html
| ... | ... | @@ -226,7 +226,7 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep |
| 226 | 226 | </td> |
| 227 | 227 | <td> |
| 228 | 228 | <input data-id="{{obj.id}}" href="javascript:;" class="in_carpark_hd" readOnly="true" |
| 229 | - type="text" value=" {{obj.hd}}" style=" width:45px;float:left" | |
| 229 | + type="text" value=" {{obj.hd}}" style=" width:70px;float:left" | |
| 230 | 230 | onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 231 | 231 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" /> |
| 232 | 232 | </td> |
| ... | ... | @@ -245,7 +245,7 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep |
| 245 | 245 | </td> |
| 246 | 246 | <td> |
| 247 | 247 | <input data-id="{{obj.id}}" href="javascript:;" class="in_carpark_shyl" |
| 248 | - value={{obj.sh}} style=" width:40px" type="text" | |
| 248 | + value={{obj.sh}} style=" width:55px" type="text" | |
| 249 | 249 | onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 250 | 250 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" /> |
| 251 | 251 | ... | ... |
src/main/resources/static/pages/forms/calc/calcsingledata.html
| ... | ... | @@ -18,8 +18,9 @@ |
| 18 | 18 | </style> |
| 19 | 19 | |
| 20 | 20 | <div class="page-head"> |
| 21 | - <div class="page-title"> | |
| 22 | - <h1>路单数据(统计)</h1> | |
| 21 | + <div class="page-title" style="width:99%;"> | |
| 22 | + <h1 style="float:left;">路单数据(统计)</h1> | |
| 23 | + <i class="fa fa-info" style="float:right;" title="本表计算能耗加注量时,油车统计油量,电车统计电量; 25年3月底更新后电量保留三位小数。"></i> | |
| 23 | 24 | </div> |
| 24 | 25 | </div> |
| 25 | 26 | ... | ... |
src/main/resources/static/pages/forms/mould/daily.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/daily.html
| 1 | -<style type="text/css"> | |
| 2 | - .table-bordered { | |
| 3 | - border: 1px solid; } | |
| 4 | - .table-bordered > thead > tr > th, | |
| 5 | - .table-bordered > thead > tr > td, | |
| 6 | - .table-bordered > tbody > tr > th, | |
| 7 | - .table-bordered > tbody > tr > td, | |
| 8 | - .table-bordered > tfoot > tr > th, | |
| 9 | - .table-bordered > tfoot > tr > td { | |
| 10 | - border: 1px solid; } | |
| 11 | - .table-bordered > thead > tr > th, | |
| 12 | - .table-bordered > thead > tr > td { | |
| 13 | - border-bottom-width: 2px; } | |
| 14 | - | |
| 15 | - .table > tbody + tbody { | |
| 16 | - border-top: 1px solid; } | |
| 17 | -</style> | |
| 18 | - | |
| 19 | -<div class="page-head"> | |
| 20 | - <div class="page-title"> | |
| 21 | - <h1>班次日报表</h1> | |
| 22 | - </div> | |
| 23 | -</div> | |
| 24 | - | |
| 25 | -<div class="row"> | |
| 26 | - <div class="col-md-12"> | |
| 27 | - <div class="portlet light porttlet-fit bordered"> | |
| 28 | - <div class="portlet-title"> | |
| 29 | - <form class="form-inline" action=""> | |
| 30 | - <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_daily"> | |
| 31 | - <span class="item-label" style="width: 80px;">公司: </span> | |
| 32 | - <select class="form-control" name="company" id="gsdmDaily" style="width: 180px;"></select> | |
| 33 | - </div> | |
| 34 | - <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_daily"> | |
| 35 | - <span class="item-label" style="width: 80px;">分公司: </span> | |
| 36 | - <select class="form-control" name="subCompany" id="fgsdmDaily" style="width: 180px;"></select> | |
| 37 | - </div> | |
| 38 | - <div style="margin-top: 2px"></div> | |
| 39 | - <div style="display: inline-block;margin-left: 33px;"> | |
| 40 | - <span class="item-label" style="width: 80px;">线路: </span> | |
| 41 | - <select class="form-control" name="line" id="line" style="width: 180px;"></select> | |
| 42 | - </div> | |
| 43 | - <div style="display: inline-block;margin-left: 24px;"> | |
| 44 | - <span class="item-label" style="width: 80px;"> 时间: </span> | |
| 45 | - <input class="form-control" type="text" id="date" style="width: 180px;"/> | |
| 46 | - </div> | |
| 47 | - <div class="form-group"> | |
| 48 | - <input class="btn btn-default" type="button" id="query" value="筛选"/> | |
| 49 | - <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 50 | - </div> | |
| 51 | - </form> | |
| 52 | - </div> | |
| 53 | - <div class="portlet-body"> | |
| 54 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 55 | - <table class="table table-bordered table-hover table-checkable" id="forms"> | |
| 56 | - <thead> | |
| 57 | - <tr> | |
| 58 | - <th colspan="7">调度班次日报</th> | |
| 59 | - </tr> | |
| 60 | - <tr> | |
| 61 | - <td>路线:</td> | |
| 62 | - <td colspan="2"><span id="form_line"> </span></td> | |
| 63 | - <td>时间:</td> | |
| 64 | - <td colspan="3"><span id="form_date"> </span></td> | |
| 65 | - </tr> | |
| 66 | - <tr> | |
| 67 | - <td>车辆</td> | |
| 68 | - <td>工号</td> | |
| 69 | - <td>姓名</td> | |
| 70 | - <td>总公里</td> | |
| 71 | - <td>空驶公里</td> | |
| 72 | - <td>油耗</td> | |
| 73 | - <td>班次</td> | |
| 74 | - </tr> | |
| 75 | - </thead> | |
| 76 | - <tbody id="tbody"> | |
| 77 | - | |
| 78 | - </tbody> | |
| 79 | - <tr> | |
| 80 | - <td colspan="3">小计</td> | |
| 81 | - <td><span id="total_zgl"> </span></td> | |
| 82 | - <td><span id="total_ks"> </span></td> | |
| 83 | - <td><span id="total_yh"> </span></td> | |
| 84 | - <td><span id="total_bc"> </span></td> | |
| 85 | - </tr> | |
| 86 | - </table> | |
| 87 | - </div> | |
| 88 | - </div> | |
| 89 | - </div> | |
| 90 | - </div> | |
| 91 | -</div> | |
| 92 | - | |
| 93 | -<script> | |
| 94 | - $(function(){ | |
| 95 | - | |
| 96 | - // 关闭左侧栏 | |
| 97 | - if (!$('body').hasClass('page-sidebar-closed')) | |
| 98 | - $('.menu-toggler.sidebar-toggler').click(); | |
| 99 | - | |
| 100 | - $("#date").datetimepicker({ | |
| 101 | - format : 'YYYY-MM-DD', | |
| 102 | - locale : 'zh-cn' | |
| 103 | - }); | |
| 104 | - var fage=false; | |
| 105 | - var xlList; | |
| 106 | - var obj = []; | |
| 107 | - | |
| 108 | - | |
| 109 | - $.get('/report/lineList',function(result){ | |
| 110 | - xlList=result; | |
| 111 | - $.get('/user/companyData', function(result){ | |
| 112 | - obj = result; | |
| 113 | - var options = ''; | |
| 114 | - for(var i = 0; i < obj.length; i++){ | |
| 115 | - options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | |
| 116 | - } | |
| 117 | - | |
| 118 | - if(obj.length ==0){ | |
| 119 | - $("#gsdmDiv_daily").css('display','none'); | |
| 120 | - }else if(obj.length ==1){ | |
| 121 | - $("#gsdmDiv_daily").css('display','none'); | |
| 122 | - if(obj[0].children.length == 1 || obj[0].children.length ==0) | |
| 123 | - $('#fgsdmDiv_daily').css('display','none'); | |
| 124 | - } | |
| 125 | - $('#gsdmDaily').html(options); | |
| 126 | - updateCompany(); | |
| 127 | - }); | |
| 128 | - }) | |
| 129 | - $("#gsdmDaily").on("change",updateCompany); | |
| 130 | - function updateCompany(){ | |
| 131 | - var company = $('#gsdmDaily').val(); | |
| 132 | - var options = ''; | |
| 133 | - for(var i = 0; i < obj.length; i++){ | |
| 134 | - if(obj[i].companyCode == company){ | |
| 135 | - var children = obj[i].children; | |
| 136 | - for(var j = 0; j < children.length; j++){ | |
| 137 | - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | |
| 138 | - } | |
| 139 | - } | |
| 140 | - } | |
| 141 | - $('#fgsdmDaily').html(options); | |
| 142 | - } | |
| 143 | - | |
| 144 | - var tempData = {}; | |
| 145 | - $.get('/report/lineList',function(xlList){ | |
| 146 | - var data = []; | |
| 147 | -// data.push({id: " ", text: "全部线路"}); | |
| 148 | - $.get('/user/companyData', function(result){ | |
| 149 | - for(var i = 0; i < result.length; i++){ | |
| 150 | - var companyCode = result[i].companyCode; | |
| 151 | - var children = result[i].children; | |
| 152 | - for(var j = 0; j < children.length; j++){ | |
| 153 | - var code = children[j].code; | |
| 154 | - for(var k=0;k < xlList.length;k++ ){ | |
| 155 | - if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | |
| 156 | - data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | |
| 157 | - tempData[xlList[k]["xlbm"]] = companyCode+":"+code; | |
| 158 | - } | |
| 159 | - } | |
| 160 | - } | |
| 161 | - } | |
| 162 | - initPinYinSelect2('#line',data,''); | |
| 163 | - | |
| 164 | - }); | |
| 165 | - }); | |
| 166 | - | |
| 167 | - $("#line").on("change", function(){ | |
| 168 | - if($("#line").val() == " "){ | |
| 169 | - $("#gsdmDaily").attr("disabled", false); | |
| 170 | - $("#fgsdmDaily").attr("disabled", false); | |
| 171 | - } else { | |
| 172 | - var temp = (tempData[$("#line").val()] ? tempData[$("#line").val()] : " : ").split(":"); | |
| 173 | - $("#gsdmDaily").val(temp[0]); | |
| 174 | - updateCompany(); | |
| 175 | - $("#fgsdmDaily").val(temp[1]); | |
| 176 | - $("#gsdmDaily").attr("disabled", true); | |
| 177 | - $("#fgsdmDaily").attr("disabled", true); | |
| 178 | - } | |
| 179 | - }); | |
| 180 | - | |
| 181 | - | |
| 182 | - var line; | |
| 183 | - var date; | |
| 184 | - var gsdmDaily; | |
| 185 | - var fgsdmDaily; | |
| 186 | - var lineName=$("#select2-line-container").html(); | |
| 187 | - $("#query").on("click",function(){ | |
| 188 | - if($("#date").val() == null || $("#date").val().trim().length == 0){ | |
| 189 | - layer.msg("请选择时间"); | |
| 190 | - return; | |
| 191 | - } | |
| 192 | - line = $("#line").val(); | |
| 193 | - date = $("#date").val(); | |
| 194 | - gsdmDaily=$("#gsdmDaily").val(); | |
| 195 | - fgsdmDaily = $("#fgsdmDaily").val(); | |
| 196 | - lineName=$("#select2-line-container").html(); | |
| 197 | - var i = layer.load(2); | |
| 198 | - $get('/mcy_forms/daily',{gsdmDaily:gsdmDaily,fgsdmDaily:fgsdmDaily, line:line,date:date,type:'query'},function(result){ | |
| 199 | - $("#form_line").text(lineName); | |
| 200 | - $("#form_date").text(date); | |
| 201 | - // 把数据填充到模版中 | |
| 202 | - var tbodyHtml = template('dailyInfo',{list:result}); | |
| 203 | - // 把渲染好的模版html文本追加到表格中 | |
| 204 | - $('#tbody').html(tbodyHtml); | |
| 205 | - layer.close(i); | |
| 206 | - | |
| 207 | - line = $("#line").val(); | |
| 208 | - startDate = $("#startDate").val(); | |
| 209 | - endDate = $("#endDate").val(); | |
| 210 | - $("#sDate").text(startDate); | |
| 211 | - $("#eDate").text(endDate); | |
| 212 | - | |
| 213 | - var total_zgl = 0,total_ks = 0; | |
| 214 | - var total_yh = 0,total_bc = 0; | |
| 215 | - | |
| 216 | - $.each(result, function(i, obj) { | |
| 217 | - total_zgl +=Number(obj.zlc*10000); | |
| 218 | - total_ks +=Number(obj.jzl1*10000); | |
| 219 | - total_yh += Number(obj.yh*10000); | |
| 220 | - total_bc += Number(obj.bc); | |
| 221 | - | |
| 222 | - }); | |
| 223 | - $("#total_zgl").text((total_zgl/10000).toFixed(3)); | |
| 224 | - $("#total_ks").text((total_ks/10000).toFixed(3)); | |
| 225 | - $("#total_yh").text((total_yh/10000).toFixed(2)); | |
| 226 | - $("#total_bc").text(total_bc.toFixed(0)); | |
| 227 | - | |
| 228 | - var temp = {}; | |
| 229 | - var today_account = 0; | |
| 230 | - | |
| 231 | - temp["line"] = $("#line").text(); | |
| 232 | - $.each(result, function(i, obj) { | |
| 233 | - if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){ | |
| 234 | - today_account++; | |
| 235 | - } | |
| 236 | - obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); | |
| 237 | - }); | |
| 238 | - }) | |
| 239 | - }); | |
| 240 | - | |
| 241 | - $("#export").on("click",function(){ | |
| 242 | - if($("#date").val() == null || $("#date").val().trim().length == 0){ | |
| 243 | - layer.msg("请选择时间"); | |
| 244 | - return; | |
| 245 | - } | |
| 246 | - line = $("#line").val(); | |
| 247 | - date = $("#date").val(); | |
| 248 | - gsdmDaily=$("#gsdmDaily").val(); | |
| 249 | - fgsdmDaily = $("#fgsdmDaily").val(); | |
| 250 | - lineName=$("#select2-line-container").html(); | |
| 251 | - var i = layer.load(2); | |
| 252 | - $post('/mcy_export/dailyExport',{gsdmDaily:gsdmDaily,fgsdmDaily:fgsdmDaily,line:line,date:date,type:'export',lineName:lineName},function(result){ | |
| 253 | - window.open("/downloadFile/download?fileName=" | |
| 254 | - +moment(date).format("YYYYMMDD")+"-"+lineName+"-班次日报表"); | |
| 255 | - layer.close(i); | |
| 256 | - }); | |
| 257 | - }); | |
| 258 | -}); | |
| 259 | -</script> | |
| 260 | -<script type="text/html" id="dailyInfo"> | |
| 261 | - {{each list as obj i}} | |
| 262 | - <tr> | |
| 263 | - <td>{{obj.zbh}}</td> | |
| 264 | - <td>{{obj.jgh}}</td> | |
| 265 | - <td>{{obj.jName}}</td> | |
| 266 | - <td>{{obj.zlc}}</td> | |
| 267 | - <td>{{obj.jzl1}}</td> | |
| 268 | - <td>{{obj.yh}}</td> | |
| 269 | - <td>{{obj.bc}}</td> | |
| 270 | - </tr> | |
| 271 | - {{/each}} | |
| 272 | - {{if list.length == 0}} | |
| 273 | - <tr> | |
| 274 | - <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> | |
| 275 | - </tr> | |
| 276 | - {{/if}} | |
| 1 | +<style type="text/css"> | |
| 2 | + .table-bordered { | |
| 3 | + border: 1px solid; } | |
| 4 | + .table-bordered > thead > tr > th, | |
| 5 | + .table-bordered > thead > tr > td, | |
| 6 | + .table-bordered > tbody > tr > th, | |
| 7 | + .table-bordered > tbody > tr > td, | |
| 8 | + .table-bordered > tfoot > tr > th, | |
| 9 | + .table-bordered > tfoot > tr > td { | |
| 10 | + border: 1px solid; } | |
| 11 | + .table-bordered > thead > tr > th, | |
| 12 | + .table-bordered > thead > tr > td { | |
| 13 | + border-bottom-width: 2px; } | |
| 14 | + | |
| 15 | + .table > tbody + tbody { | |
| 16 | + border-top: 1px solid; } | |
| 17 | + .h2 {} | |
| 18 | +</style> | |
| 19 | + | |
| 20 | +<div class="page-head"> | |
| 21 | + <div class="page-title" style="width:99%;"> | |
| 22 | + <h1 style="float:left;width:50%;">班次日报表</h1> | |
| 23 | + <i class="fa fa-info" style="float:right;" title="本表计算能耗加注量时,油车统计油量,电车统计电量; 25年3月底更新后电量保留三位小数。"></i> | |
| 24 | + </div> | |
| 25 | +</div> | |
| 26 | + | |
| 27 | +<div class="row"> | |
| 28 | + <div class="col-md-12"> | |
| 29 | + <div class="portlet light porttlet-fit bordered"> | |
| 30 | + <div class="portlet-title"> | |
| 31 | + <form class="form-inline" action=""> | |
| 32 | + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_daily"> | |
| 33 | + <span class="item-label" style="width: 80px;">公司: </span> | |
| 34 | + <select class="form-control" name="company" id="gsdmDaily" style="width: 180px;"></select> | |
| 35 | + </div> | |
| 36 | + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_daily"> | |
| 37 | + <span class="item-label" style="width: 80px;">分公司: </span> | |
| 38 | + <select class="form-control" name="subCompany" id="fgsdmDaily" style="width: 180px;"></select> | |
| 39 | + </div> | |
| 40 | + <div style="margin-top: 2px"></div> | |
| 41 | + <div style="display: inline-block;margin-left: 33px;"> | |
| 42 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 43 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | |
| 44 | + </div> | |
| 45 | + <div style="display: inline-block;margin-left: 24px;"> | |
| 46 | + <span class="item-label" style="width: 80px;"> 时间: </span> | |
| 47 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | |
| 48 | + </div> | |
| 49 | + <div class="form-group"> | |
| 50 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | |
| 51 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 52 | + </div> | |
| 53 | + </form> | |
| 54 | + </div> | |
| 55 | + <div class="portlet-body"> | |
| 56 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 57 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | |
| 58 | + <thead> | |
| 59 | + <tr> | |
| 60 | + <th colspan="7">调度班次日报</th> | |
| 61 | + </tr> | |
| 62 | + <tr> | |
| 63 | + <td>路线:</td> | |
| 64 | + <td colspan="2"><span id="form_line"> </span></td> | |
| 65 | + <td>时间:</td> | |
| 66 | + <td colspan="3"><span id="form_date"> </span></td> | |
| 67 | + </tr> | |
| 68 | + <tr> | |
| 69 | + <td>车辆</td> | |
| 70 | + <td>工号</td> | |
| 71 | + <td>姓名</td> | |
| 72 | + <td>总公里</td> | |
| 73 | + <td>空驶公里</td> | |
| 74 | + <td>油耗</td> | |
| 75 | + <td>班次</td> | |
| 76 | + </tr> | |
| 77 | + </thead> | |
| 78 | + <tbody id="tbody"> | |
| 79 | + | |
| 80 | + </tbody> | |
| 81 | + <tr> | |
| 82 | + <td colspan="3">小计</td> | |
| 83 | + <td><span id="total_zgl"> </span></td> | |
| 84 | + <td><span id="total_ks"> </span></td> | |
| 85 | + <td><span id="total_yh"> </span></td> | |
| 86 | + <td><span id="total_bc"> </span></td> | |
| 87 | + </tr> | |
| 88 | + </table> | |
| 89 | + </div> | |
| 90 | + </div> | |
| 91 | + </div> | |
| 92 | + </div> | |
| 93 | +</div> | |
| 94 | + | |
| 95 | +<script> | |
| 96 | + $(function(){ | |
| 97 | + | |
| 98 | + // 关闭左侧栏 | |
| 99 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 100 | + $('.menu-toggler.sidebar-toggler').click(); | |
| 101 | + | |
| 102 | + $("#date").datetimepicker({ | |
| 103 | + format : 'YYYY-MM-DD', | |
| 104 | + locale : 'zh-cn' | |
| 105 | + }); | |
| 106 | + var fage=false; | |
| 107 | + var xlList; | |
| 108 | + var obj = []; | |
| 109 | + | |
| 110 | + | |
| 111 | + $.get('/report/lineList',function(result){ | |
| 112 | + xlList=result; | |
| 113 | + $.get('/user/companyData', function(result){ | |
| 114 | + obj = result; | |
| 115 | + var options = ''; | |
| 116 | + for(var i = 0; i < obj.length; i++){ | |
| 117 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | |
| 118 | + } | |
| 119 | + | |
| 120 | + if(obj.length ==0){ | |
| 121 | + $("#gsdmDiv_daily").css('display','none'); | |
| 122 | + }else if(obj.length ==1){ | |
| 123 | + $("#gsdmDiv_daily").css('display','none'); | |
| 124 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | |
| 125 | + $('#fgsdmDiv_daily').css('display','none'); | |
| 126 | + } | |
| 127 | + $('#gsdmDaily').html(options); | |
| 128 | + updateCompany(); | |
| 129 | + }); | |
| 130 | + }) | |
| 131 | + $("#gsdmDaily").on("change",updateCompany); | |
| 132 | + function updateCompany(){ | |
| 133 | + var company = $('#gsdmDaily').val(); | |
| 134 | + var options = ''; | |
| 135 | + for(var i = 0; i < obj.length; i++){ | |
| 136 | + if(obj[i].companyCode == company){ | |
| 137 | + var children = obj[i].children; | |
| 138 | + for(var j = 0; j < children.length; j++){ | |
| 139 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | |
| 140 | + } | |
| 141 | + } | |
| 142 | + } | |
| 143 | + $('#fgsdmDaily').html(options); | |
| 144 | + } | |
| 145 | + | |
| 146 | + var tempData = {}; | |
| 147 | + $.get('/report/lineList',function(xlList){ | |
| 148 | + var data = []; | |
| 149 | +// data.push({id: " ", text: "全部线路"}); | |
| 150 | + $.get('/user/companyData', function(result){ | |
| 151 | + for(var i = 0; i < result.length; i++){ | |
| 152 | + var companyCode = result[i].companyCode; | |
| 153 | + var children = result[i].children; | |
| 154 | + for(var j = 0; j < children.length; j++){ | |
| 155 | + var code = children[j].code; | |
| 156 | + for(var k=0;k < xlList.length;k++ ){ | |
| 157 | + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | |
| 158 | + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | |
| 159 | + tempData[xlList[k]["xlbm"]] = companyCode+":"+code; | |
| 160 | + } | |
| 161 | + } | |
| 162 | + } | |
| 163 | + } | |
| 164 | + initPinYinSelect2('#line',data,''); | |
| 165 | + | |
| 166 | + }); | |
| 167 | + }); | |
| 168 | + | |
| 169 | + $("#line").on("change", function(){ | |
| 170 | + if($("#line").val() == " "){ | |
| 171 | + $("#gsdmDaily").attr("disabled", false); | |
| 172 | + $("#fgsdmDaily").attr("disabled", false); | |
| 173 | + } else { | |
| 174 | + var temp = (tempData[$("#line").val()] ? tempData[$("#line").val()] : " : ").split(":"); | |
| 175 | + $("#gsdmDaily").val(temp[0]); | |
| 176 | + updateCompany(); | |
| 177 | + $("#fgsdmDaily").val(temp[1]); | |
| 178 | + $("#gsdmDaily").attr("disabled", true); | |
| 179 | + $("#fgsdmDaily").attr("disabled", true); | |
| 180 | + } | |
| 181 | + }); | |
| 182 | + | |
| 183 | + | |
| 184 | + var line; | |
| 185 | + var date; | |
| 186 | + var gsdmDaily; | |
| 187 | + var fgsdmDaily; | |
| 188 | + var lineName=$("#select2-line-container").html(); | |
| 189 | + $("#query").on("click",function(){ | |
| 190 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | |
| 191 | + layer.msg("请选择时间"); | |
| 192 | + return; | |
| 193 | + } | |
| 194 | + line = $("#line").val(); | |
| 195 | + date = $("#date").val(); | |
| 196 | + gsdmDaily=$("#gsdmDaily").val(); | |
| 197 | + fgsdmDaily = $("#fgsdmDaily").val(); | |
| 198 | + lineName=$("#select2-line-container").html(); | |
| 199 | + var i = layer.load(2); | |
| 200 | + $get('/mcy_forms/daily',{gsdmDaily:gsdmDaily,fgsdmDaily:fgsdmDaily, line:line,date:date,type:'query'},function(result){ | |
| 201 | + $("#form_line").text(lineName); | |
| 202 | + $("#form_date").text(date); | |
| 203 | + // 把数据填充到模版中 | |
| 204 | + var tbodyHtml = template('dailyInfo',{list:result}); | |
| 205 | + // 把渲染好的模版html文本追加到表格中 | |
| 206 | + $('#tbody').html(tbodyHtml); | |
| 207 | + layer.close(i); | |
| 208 | + | |
| 209 | + line = $("#line").val(); | |
| 210 | + startDate = $("#startDate").val(); | |
| 211 | + endDate = $("#endDate").val(); | |
| 212 | + $("#sDate").text(startDate); | |
| 213 | + $("#eDate").text(endDate); | |
| 214 | + | |
| 215 | + var total_zgl = 0,total_ks = 0; | |
| 216 | + var total_yh = 0,total_bc = 0; | |
| 217 | + | |
| 218 | + $.each(result, function(i, obj) { | |
| 219 | + total_zgl += Number(obj.zlc*10000); | |
| 220 | + total_ks += Number(obj.jzl1*10000); | |
| 221 | + total_yh += Number(obj.yh*10000); | |
| 222 | + total_bc += Number(obj.bc); | |
| 223 | + | |
| 224 | + }); | |
| 225 | + $("#total_zgl").text((total_zgl/10000).toFixed(3)); | |
| 226 | + $("#total_ks").text((total_ks/10000).toFixed(3)); | |
| 227 | + $("#total_yh").text((total_yh/10000).toFixed(3)); | |
| 228 | + $("#total_bc").text(total_bc.toFixed(0)); | |
| 229 | + | |
| 230 | + var temp = {}; | |
| 231 | + var today_account = 0; | |
| 232 | + | |
| 233 | + temp["line"] = $("#line").text(); | |
| 234 | + $.each(result, function(i, obj) { | |
| 235 | + if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){ | |
| 236 | + today_account++; | |
| 237 | + } | |
| 238 | + obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); | |
| 239 | + }); | |
| 240 | + }) | |
| 241 | + }); | |
| 242 | + | |
| 243 | + $("#export").on("click",function(){ | |
| 244 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | |
| 245 | + layer.msg("请选择时间"); | |
| 246 | + return; | |
| 247 | + } | |
| 248 | + line = $("#line").val(); | |
| 249 | + date = $("#date").val(); | |
| 250 | + gsdmDaily=$("#gsdmDaily").val(); | |
| 251 | + fgsdmDaily = $("#fgsdmDaily").val(); | |
| 252 | + lineName=$("#select2-line-container").html(); | |
| 253 | + var i = layer.load(2); | |
| 254 | + $post('/mcy_export/dailyExport',{gsdmDaily:gsdmDaily,fgsdmDaily:fgsdmDaily,line:line,date:date,type:'export',lineName:lineName},function(result){ | |
| 255 | + window.open("/downloadFile/download?fileName=" | |
| 256 | + +moment(date).format("YYYYMMDD")+"-"+lineName+"-班次日报表"); | |
| 257 | + layer.close(i); | |
| 258 | + }); | |
| 259 | + }); | |
| 260 | +}); | |
| 261 | +</script> | |
| 262 | +<script type="text/html" id="dailyInfo"> | |
| 263 | + {{each list as obj i}} | |
| 264 | + <tr> | |
| 265 | + <td>{{obj.zbh}}</td> | |
| 266 | + <td>{{obj.jgh}}</td> | |
| 267 | + <td>{{obj.jName}}</td> | |
| 268 | + <td>{{obj.zlc}}</td> | |
| 269 | + <td>{{obj.jzl1}}</td> | |
| 270 | + <td>{{obj.yh}}</td> | |
| 271 | + <td>{{obj.bc}}</td> | |
| 272 | + </tr> | |
| 273 | + {{/each}} | |
| 274 | + {{if list.length == 0}} | |
| 275 | + <tr> | |
| 276 | + <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> | |
| 277 | + </tr> | |
| 278 | + {{/if}} | |
| 277 | 279 | </script> |
| 278 | 280 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/history_sch/edit/history_sch_maintain.html
| ... | ... | @@ -497,7 +497,7 @@ |
| 497 | 497 | $(that).prepend('<i class="uk-icon-spinner uk-icon-spin"></i>'); |
| 498 | 498 | |
| 499 | 499 | |
| 500 | - var reCountEp = EventProxy.create('ylbUpdate', 'calcWaybill', 'scheduleDetail', function () { | |
| 500 | + var reCountEp = EventProxy.create('calcWaybill', 'scheduleDetail', function () { | |
| 501 | 501 | $('i.uk-icon-spin', that).remove(); |
| 502 | 502 | $(that).removeAttr('disabled'); |
| 503 | 503 | notify_succ('重新统计成功!'); | ... | ... |
src/main/resources/static/pages/mforms/singledatas/singledata.html
| ... | ... | @@ -18,8 +18,9 @@ |
| 18 | 18 | </style> |
| 19 | 19 | |
| 20 | 20 | <div class="page-head"> |
| 21 | - <div class="page-title"> | |
| 22 | - <h1>路单数据</h1> | |
| 21 | + <div class="page-title" style="width:99%;"> | |
| 22 | + <h1 style="float:left;">路单数据</h1> | |
| 23 | + <i class="fa fa-info" style="float:right;" title="本表计算能耗加注量时,油车统计油量,电车统计电量; 25年3月底更新后电量保留三位小数。"></i> | |
| 23 | 24 | </div> |
| 24 | 25 | </div> |
| 25 | 26 | ... | ... |
src/main/resources/static/pages/mforms/singledatas/singledatas.html
| ... | ... | @@ -18,8 +18,9 @@ |
| 18 | 18 | </style> |
| 19 | 19 | |
| 20 | 20 | <div class="page-head"> |
| 21 | - <div class="page-title"> | |
| 22 | - <h1>路单数据</h1> | |
| 21 | + <div class="page-title" style="width:99%;"> | |
| 22 | + <h1 style="float:left;">路单数据</h1> | |
| 23 | + <i class="fa fa-info" style="float:right;" title="本表计算能耗加注量时,油车统计油量,电车统计电量; 25年3月底更新后电量保留三位小数。"></i> | |
| 23 | 24 | </div> |
| 24 | 25 | </div> |
| 25 | 26 | ... | ... |
src/main/resources/static/pages/mforms/vehicleloadings/vehicleloading.html
| ... | ... | @@ -18,8 +18,9 @@ |
| 18 | 18 | </style> |
| 19 | 19 | |
| 20 | 20 | <div class="page-head"> |
| 21 | - <div class="page-title"> | |
| 22 | - <h1>车辆加注</h1> | |
| 21 | + <div class="page-title" style="width:99%;"> | |
| 22 | + <h1 style="float:left;">车辆加注</h1> | |
| 23 | + <i class="fa fa-info" style="float:right;" title="本表计算能耗加注量时,油车统计油量,电车统计电量; 25年3月底更新后电量保留三位小数。"></i> | |
| 23 | 24 | </div> |
| 24 | 25 | </div> |
| 25 | 26 | ... | ... |
src/main/resources/static/pages/mforms/waybilldays/waybillday.html
| ... | ... | @@ -18,8 +18,9 @@ |
| 18 | 18 | </style> |
| 19 | 19 | |
| 20 | 20 | <div class="page-head"> |
| 21 | - <div class="page-title"> | |
| 22 | - <h1>行车路单日报表</h1> | |
| 21 | + <div class="page-title" style="width:99%;"> | |
| 22 | + <h1 style="float:left;">行车路单日报表</h1> | |
| 23 | + <i class="fa fa-info" style="float:right;" title="本表计算能耗加注量时,油车统计油量,电车统计电量; 25年3月底更新后电量保留三位小数。"></i> | |
| 23 | 24 | </div> |
| 24 | 25 | </div> |
| 25 | 26 | ... | ... |
src/main/resources/static/pages/report/countMileage/countBus/company/countBusMileage.html
| ... | ... | @@ -27,8 +27,9 @@ |
| 27 | 27 | </style> |
| 28 | 28 | |
| 29 | 29 | <div class="page-head"> |
| 30 | - <div class="page-title"> | |
| 31 | - <h1>路单数据统计表</h1> | |
| 30 | + <div class="page-title" style="width:99%;"> | |
| 31 | + <h1 style="float:left;">路单数据统计表</h1> | |
| 32 | + <i class="fa fa-info" style="float:right;" title="25年3月底更新后电量保留三位小数。"></i> | |
| 32 | 33 | </div> |
| 33 | 34 | </div> |
| 34 | 35 | |
| ... | ... | @@ -224,7 +225,7 @@ |
| 224 | 225 | }else{ |
| 225 | 226 | var params = {}; |
| 226 | 227 | params['gsdm'] = gsdm; |
| 227 | - params['fgsdm'] =fgsdm ; | |
| 228 | + params['fgsdm'] =fgsdm; | |
| 228 | 229 | params['line'] = line; |
| 229 | 230 | params['date'] = date; |
| 230 | 231 | params['date2'] = date2; | ... | ... |
src/main/resources/static/pages/report/countMileage/countBus/countBusMileage.html
| ... | ... | @@ -27,8 +27,9 @@ |
| 27 | 27 | </style> |
| 28 | 28 | |
| 29 | 29 | <div class="page-head"> |
| 30 | - <div class="page-title"> | |
| 31 | - <h1>路单数据统计表(审计)</h1> | |
| 30 | + <div class="page-title" style="width:99%;"> | |
| 31 | + <h1 style="float:left;">路单数据统计表(审计)</h1> | |
| 32 | + <i class="fa fa-info" style="float:right;" title="25年3月底更新后电量保留三位小数。"></i> | |
| 32 | 33 | </div> |
| 33 | 34 | </div> |
| 34 | 35 | ... | ... |
src/main/resources/static/real_control_v2/fragments/north/nav/history_sch_maintain.html
| ... | ... | @@ -431,7 +431,7 @@ |
| 431 | 431 | $(that).prepend('<i class="uk-icon-spinner uk-icon-spin"></i>'); |
| 432 | 432 | |
| 433 | 433 | |
| 434 | - var reCountEp = EventProxy.create('ylbUpdate', 'calcWaybill', 'scheduleDetail', function () { | |
| 434 | + var reCountEp = EventProxy.create('calcWaybill', 'scheduleDetail', function () { | |
| 435 | 435 | $('i.uk-icon-spin', that).remove(); |
| 436 | 436 | $(that).removeAttr('disabled'); |
| 437 | 437 | notify_succ('重新统计成功!'); | ... | ... |