Commit f05c4f930c253283eeeddd708441cece6c0c02fb

Authored by 王通
1 parent 273f2bde

1.加入公里总计

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  
... ...