Commit f05c4f930c253283eeeddd708441cece6c0c02fb
1 parent
273f2bde
1.加入公里总计
Showing
1 changed file
with
45 additions
and
3 deletions
src/main/java/com/bsth/server_ws/util/WSDataConver.java
| ... | ... | @@ -171,16 +171,19 @@ public class WSDataConver { |
| 171 | 171 | public static NH_waybill[] to_waybill_NH(ArrayListMultimap<String, ScheduleRealInfo> listMap, Map<String, OilInfo> oilInfoMap, List<DutyEmployee> des) throws NoSuchFieldException { |
| 172 | 172 | List<String> nbbmArray = new ArrayList<>(listMap.keySet()); |
| 173 | 173 | |
| 174 | - NH_waybill[] rs = new NH_waybill[nbbmArray.size()]; | |
| 174 | + NH_waybill[] rs = new NH_waybill[nbbmArray.size() + 1]; | |
| 175 | 175 | Field jGhField = ScheduleRealInfo.class.getDeclaredField("jGh"); |
| 176 | 176 | //Field lpField = ScheduleRealInfo.class.getDeclaredField("lpName"); |
| 177 | 177 | |
| 178 | 178 | List<ScheduleRealInfo> list; |
| 179 | 179 | ArrayListMultimap<String, ScheduleRealInfo> jGhListMap; |
| 180 | 180 | ScheduleRealInfo sch; |
| 181 | - NH_waybill nh_waybill; | |
| 182 | - NH_waybillItem nh_waybillItem; | |
| 181 | + NH_waybill nh_waybill, total = new NH_waybill(); | |
| 182 | + NH_waybillItem nh_waybillItem, totalItem = new NH_waybillItem(); | |
| 183 | 183 | OilInfo oilInfo; |
| 184 | + boolean isFirst = true; | |
| 185 | + | |
| 186 | + double jhlc = 0, sjjhlc = 0, cclc = 0, jclc = 0, yylc = 0, kslc = 0, cjlc = 0, lblc = 0, zjlc = 0, zlc = 0; | |
| 184 | 187 | for (int i = 0; i < nbbmArray.size(); i++) { |
| 185 | 188 | list = listMap.get(nbbmArray.get(i)); |
| 186 | 189 | if (list.size() == 0) |
| ... | ... | @@ -195,6 +198,14 @@ public class WSDataConver { |
| 195 | 198 | //线路编码 |
| 196 | 199 | nh_waybill.setM_strXLBM(sch.getXlBm()); |
| 197 | 200 | nh_waybill.setM_SubInfos(new ArrayList<NH_waybillItem>()); |
| 201 | + if (isFirst) { | |
| 202 | + total.setM_strYYRQ(sch.getScheduleDateStr()); | |
| 203 | + total.setM_strNBBM(sch.getClZbh()); | |
| 204 | + total.setM_strXLBM("000000"); | |
| 205 | + total.setM_SubInfos(new ArrayList<NH_waybillItem>()); | |
| 206 | + | |
| 207 | + isFirst = false; | |
| 208 | + } | |
| 198 | 209 | |
| 199 | 210 | //按 驾驶员 分组班次,构造路单子项 |
| 200 | 211 | jGhListMap = new ConvertUtil<ScheduleRealInfo>().groupMultiList(list, "_", jGhField); |
| ... | ... | @@ -203,24 +214,34 @@ public class WSDataConver { |
| 203 | 214 | nh_waybillItem = new NH_waybillItem(); |
| 204 | 215 | //计划里程 |
| 205 | 216 | nh_waybillItem.setM_dblJHLC(ScheduleCalculator.calcJHLC(list)); |
| 217 | + jhlc = Arith.add(jhlc, nh_waybillItem.getM_dblJHLC()); | |
| 206 | 218 | //实际计划公里 |
| 207 | 219 | nh_waybillItem.setM_dblSJJHLC(ScheduleCalculator.calcSJLC(list)); |
| 220 | + sjjhlc = Arith.add(sjjhlc, nh_waybillItem.getM_dblSJJHLC()); | |
| 208 | 221 | //实际出场里程 |
| 209 | 222 | nh_waybillItem.setM_dblCCLC(ScheduleCalculator.calcCCLC(list)); |
| 223 | + cclc = Arith.add(cclc, nh_waybillItem.getM_dblCCLC()); | |
| 210 | 224 | //实际进场里程 |
| 211 | 225 | nh_waybillItem.setM_dblJCLC(ScheduleCalculator.calcJCLC(list)); |
| 226 | + jclc = Arith.add(jclc, nh_waybillItem.getM_dblJCLC()); | |
| 212 | 227 | //营业公里 |
| 213 | 228 | nh_waybillItem.setM_dblYYLC(ScheduleCalculator.calcYYLC(list)); |
| 229 | + yylc = Arith.add(yylc, nh_waybillItem.getM_dblYYLC()); | |
| 214 | 230 | //空驶公里 |
| 215 | 231 | nh_waybillItem.setM_dblKSLC(ScheduleCalculator.calcKSLC(list)); |
| 232 | + kslc = Arith.add(kslc, nh_waybillItem.getM_dblKSLC()); | |
| 216 | 233 | //抽减公里 |
| 217 | 234 | nh_waybillItem.setM_dblCJLC(ScheduleCalculator.calcCJLC(list)); |
| 235 | + cjlc = Arith.add(cjlc, nh_waybillItem.getM_dblCJLC()); | |
| 218 | 236 | //烂班公里 |
| 219 | 237 | nh_waybillItem.setM_dblLBLC(ScheduleCalculator.calcLBLC(list)); |
| 238 | + lblc = Arith.add(lblc, nh_waybillItem.getM_dblLBLC()); | |
| 220 | 239 | //增加公里 |
| 221 | 240 | nh_waybillItem.setM_dblZJLC(ScheduleCalculator.calcZJLC(list)); |
| 241 | + zjlc = Arith.add(zjlc, nh_waybillItem.getM_dblZJLC()); | |
| 222 | 242 | //总公里 |
| 223 | 243 | nh_waybillItem.setM_dblZLC(ScheduleCalculator.calcZLC(list)); |
| 244 | + zlc = Arith.add(zlc, nh_waybillItem.getM_dblZLC()); | |
| 224 | 245 | //烂班公里原因 |
| 225 | 246 | nh_waybillItem.setM_strLBYY(ScheduleCalculator.joinLBYY(list)); |
| 226 | 247 | //抽减公里原因 |
| ... | ... | @@ -293,6 +314,27 @@ public class WSDataConver { |
| 293 | 314 | |
| 294 | 315 | rs[i] = nh_waybill; |
| 295 | 316 | } |
| 317 | + | |
| 318 | + totalItem.setM_dblJHLC(jhlc); | |
| 319 | + totalItem.setM_dblSJJHLC(sjjhlc); | |
| 320 | + totalItem.setM_dblCCLC(cclc); | |
| 321 | + totalItem.setM_dblJCLC(jclc); | |
| 322 | + totalItem.setM_dblYYLC(yylc); | |
| 323 | + totalItem.setM_dblKSLC(kslc); | |
| 324 | + totalItem.setM_dblCJLC(cjlc); | |
| 325 | + totalItem.setM_dblLBLC(lblc); | |
| 326 | + totalItem.setM_dblZJLC(zjlc); | |
| 327 | + totalItem.setM_dblZLC(zlc); | |
| 328 | + totalItem.setM_strSPY(""); | |
| 329 | + totalItem.setM_strJSYKQ(""); | |
| 330 | + totalItem.setM_strSPYKQ(""); | |
| 331 | + totalItem.setM_strYYZT(""); | |
| 332 | + totalItem.setM_strBZ(""); | |
| 333 | + | |
| 334 | + total.getM_SubInfos().add(totalItem); | |
| 335 | + | |
| 336 | + rs[rs.length - 1] = total; | |
| 337 | + | |
| 296 | 338 | return rs; |
| 297 | 339 | } |
| 298 | 340 | ... | ... |