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,16 +171,19 @@ public class WSDataConver { | ||
| 171 | public static NH_waybill[] to_waybill_NH(ArrayListMultimap<String, ScheduleRealInfo> listMap, Map<String, OilInfo> oilInfoMap, List<DutyEmployee> des) throws NoSuchFieldException { | 171 | public static NH_waybill[] to_waybill_NH(ArrayListMultimap<String, ScheduleRealInfo> listMap, Map<String, OilInfo> oilInfoMap, List<DutyEmployee> des) throws NoSuchFieldException { |
| 172 | List<String> nbbmArray = new ArrayList<>(listMap.keySet()); | 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 | Field jGhField = ScheduleRealInfo.class.getDeclaredField("jGh"); | 175 | Field jGhField = ScheduleRealInfo.class.getDeclaredField("jGh"); |
| 176 | //Field lpField = ScheduleRealInfo.class.getDeclaredField("lpName"); | 176 | //Field lpField = ScheduleRealInfo.class.getDeclaredField("lpName"); |
| 177 | 177 | ||
| 178 | List<ScheduleRealInfo> list; | 178 | List<ScheduleRealInfo> list; |
| 179 | ArrayListMultimap<String, ScheduleRealInfo> jGhListMap; | 179 | ArrayListMultimap<String, ScheduleRealInfo> jGhListMap; |
| 180 | ScheduleRealInfo sch; | 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 | OilInfo oilInfo; | 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 | for (int i = 0; i < nbbmArray.size(); i++) { | 187 | for (int i = 0; i < nbbmArray.size(); i++) { |
| 185 | list = listMap.get(nbbmArray.get(i)); | 188 | list = listMap.get(nbbmArray.get(i)); |
| 186 | if (list.size() == 0) | 189 | if (list.size() == 0) |
| @@ -195,6 +198,14 @@ public class WSDataConver { | @@ -195,6 +198,14 @@ public class WSDataConver { | ||
| 195 | //线路编码 | 198 | //线路编码 |
| 196 | nh_waybill.setM_strXLBM(sch.getXlBm()); | 199 | nh_waybill.setM_strXLBM(sch.getXlBm()); |
| 197 | nh_waybill.setM_SubInfos(new ArrayList<NH_waybillItem>()); | 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 | jGhListMap = new ConvertUtil<ScheduleRealInfo>().groupMultiList(list, "_", jGhField); | 211 | jGhListMap = new ConvertUtil<ScheduleRealInfo>().groupMultiList(list, "_", jGhField); |
| @@ -203,24 +214,34 @@ public class WSDataConver { | @@ -203,24 +214,34 @@ public class WSDataConver { | ||
| 203 | nh_waybillItem = new NH_waybillItem(); | 214 | nh_waybillItem = new NH_waybillItem(); |
| 204 | //计划里程 | 215 | //计划里程 |
| 205 | nh_waybillItem.setM_dblJHLC(ScheduleCalculator.calcJHLC(list)); | 216 | nh_waybillItem.setM_dblJHLC(ScheduleCalculator.calcJHLC(list)); |
| 217 | + jhlc = Arith.add(jhlc, nh_waybillItem.getM_dblJHLC()); | ||
| 206 | //实际计划公里 | 218 | //实际计划公里 |
| 207 | nh_waybillItem.setM_dblSJJHLC(ScheduleCalculator.calcSJLC(list)); | 219 | nh_waybillItem.setM_dblSJJHLC(ScheduleCalculator.calcSJLC(list)); |
| 220 | + sjjhlc = Arith.add(sjjhlc, nh_waybillItem.getM_dblSJJHLC()); | ||
| 208 | //实际出场里程 | 221 | //实际出场里程 |
| 209 | nh_waybillItem.setM_dblCCLC(ScheduleCalculator.calcCCLC(list)); | 222 | nh_waybillItem.setM_dblCCLC(ScheduleCalculator.calcCCLC(list)); |
| 223 | + cclc = Arith.add(cclc, nh_waybillItem.getM_dblCCLC()); | ||
| 210 | //实际进场里程 | 224 | //实际进场里程 |
| 211 | nh_waybillItem.setM_dblJCLC(ScheduleCalculator.calcJCLC(list)); | 225 | nh_waybillItem.setM_dblJCLC(ScheduleCalculator.calcJCLC(list)); |
| 226 | + jclc = Arith.add(jclc, nh_waybillItem.getM_dblJCLC()); | ||
| 212 | //营业公里 | 227 | //营业公里 |
| 213 | nh_waybillItem.setM_dblYYLC(ScheduleCalculator.calcYYLC(list)); | 228 | nh_waybillItem.setM_dblYYLC(ScheduleCalculator.calcYYLC(list)); |
| 229 | + yylc = Arith.add(yylc, nh_waybillItem.getM_dblYYLC()); | ||
| 214 | //空驶公里 | 230 | //空驶公里 |
| 215 | nh_waybillItem.setM_dblKSLC(ScheduleCalculator.calcKSLC(list)); | 231 | nh_waybillItem.setM_dblKSLC(ScheduleCalculator.calcKSLC(list)); |
| 232 | + kslc = Arith.add(kslc, nh_waybillItem.getM_dblKSLC()); | ||
| 216 | //抽减公里 | 233 | //抽减公里 |
| 217 | nh_waybillItem.setM_dblCJLC(ScheduleCalculator.calcCJLC(list)); | 234 | nh_waybillItem.setM_dblCJLC(ScheduleCalculator.calcCJLC(list)); |
| 235 | + cjlc = Arith.add(cjlc, nh_waybillItem.getM_dblCJLC()); | ||
| 218 | //烂班公里 | 236 | //烂班公里 |
| 219 | nh_waybillItem.setM_dblLBLC(ScheduleCalculator.calcLBLC(list)); | 237 | nh_waybillItem.setM_dblLBLC(ScheduleCalculator.calcLBLC(list)); |
| 238 | + lblc = Arith.add(lblc, nh_waybillItem.getM_dblLBLC()); | ||
| 220 | //增加公里 | 239 | //增加公里 |
| 221 | nh_waybillItem.setM_dblZJLC(ScheduleCalculator.calcZJLC(list)); | 240 | nh_waybillItem.setM_dblZJLC(ScheduleCalculator.calcZJLC(list)); |
| 241 | + zjlc = Arith.add(zjlc, nh_waybillItem.getM_dblZJLC()); | ||
| 222 | //总公里 | 242 | //总公里 |
| 223 | nh_waybillItem.setM_dblZLC(ScheduleCalculator.calcZLC(list)); | 243 | nh_waybillItem.setM_dblZLC(ScheduleCalculator.calcZLC(list)); |
| 244 | + zlc = Arith.add(zlc, nh_waybillItem.getM_dblZLC()); | ||
| 224 | //烂班公里原因 | 245 | //烂班公里原因 |
| 225 | nh_waybillItem.setM_strLBYY(ScheduleCalculator.joinLBYY(list)); | 246 | nh_waybillItem.setM_strLBYY(ScheduleCalculator.joinLBYY(list)); |
| 226 | //抽减公里原因 | 247 | //抽减公里原因 |
| @@ -293,6 +314,27 @@ public class WSDataConver { | @@ -293,6 +314,27 @@ public class WSDataConver { | ||
| 293 | 314 | ||
| 294 | rs[i] = nh_waybill; | 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 | return rs; | 338 | return rs; |
| 297 | } | 339 | } |
| 298 | 340 |