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