|
@@ -1,5 +1,6 @@
|
|
|
package com.steerinfo.dil.service.impl;
|
|
|
|
|
|
+import com.fasterxml.jackson.databind.ObjectReader;
|
|
|
import com.steerinfo.dil.feign.IMFeign;
|
|
|
import com.steerinfo.dil.feign.TmsTruckFeign;
|
|
|
import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
|
|
@@ -450,4 +451,88 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
|
|
|
mapValue.put("mapList",mapList);
|
|
|
return mapValue;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增一个新的运输订单(一车多趟)
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/1/14 21:10
|
|
|
+ * @param orderId
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+
|
|
|
+ public int addNewTransportOrder(BigDecimal orderId){
|
|
|
+ //根据运输订单ID查询 订单信息
|
|
|
+ OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
|
|
|
+ BigDecimal newOrderId = updateTruckOrder(omstruckOrder);
|
|
|
+ omstruckOrderMapper.insertSelective(omstruckOrder);
|
|
|
+ //通过订单ID查询物资子表信息
|
|
|
+ OmstruckOrderMaterial omstruckOrderMaterial = omstruckOrderMaterialMapper.selectByOrderIdPrimaryKey(orderId);
|
|
|
+ //更新物资子表中的订单ID
|
|
|
+ omstruckOrderMaterial.setOrderId(newOrderId);
|
|
|
+ updateTruckOrderMaterial(omstruckOrderMaterial);
|
|
|
+ omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
|
|
|
+ //远程调用新增新的总实绩ID
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("orderId", newOrderId);
|
|
|
+ tmsTruckFeign.addTotalResult(map);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新新订单信息 (一车多趟)
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/1/14 21:35
|
|
|
+ * @param omstruckOrder
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+ private BigDecimal updateTruckOrder(OmstruckOrder omstruckOrder){
|
|
|
+ //设置新的运输订单号和主键
|
|
|
+ BigDecimal newOrderId = omstruckOrderMapper.selectMaxId();
|
|
|
+ omstruckOrder.setOrderId(newOrderId);
|
|
|
+ omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD", newOrderId.intValue()));
|
|
|
+ //设置订单状态为已下发 司机未接收时间 路段顺序号 订单确认状态
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(4));
|
|
|
+ omstruckOrder.setOrderIssueTime(new Date());
|
|
|
+ omstruckOrder.setOrderLineSequence(null);
|
|
|
+ omstruckOrder.setOrderReceiveRefuseTime(null);
|
|
|
+ omstruckOrder.setDriverConfirmation(null);
|
|
|
+ //常规字段
|
|
|
+ omstruckOrder.setInsertTime(new Date());
|
|
|
+ omstruckOrder.setInsertUsername("admin");
|
|
|
+ omstruckOrder.setUpdateTime(null);
|
|
|
+ omstruckOrder.setUpdateUsername(null);
|
|
|
+ return newOrderId; //用于更新订单子表信息
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新订单物资子表信息 (一车多趟)
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/1/14 21:40
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+ private void updateTruckOrderMaterial(OmstruckOrderMaterial omstruckOrderMaterial){
|
|
|
+ //更新主键 以及常规字段
|
|
|
+ omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
|
|
|
+ omstruckOrderMaterial.setInsertTime(new Date());
|
|
|
+ omstruckOrderMaterial.setInsertUsername("admin");
|
|
|
+ omstruckOrderMaterial.setUpdateTime(null);
|
|
|
+ omstruckOrderMaterial.setUpdateUsername(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量删除订单
|
|
|
+ * @Author TXF
|
|
|
+ * @Date 2022/1/14 23:51
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ **/
|
|
|
+ @Transactional
|
|
|
+ public int deleteOrders(Map<String, Object> map){
|
|
|
+ List<BigDecimal> orderIdList = (List<BigDecimal>) map.get("list");
|
|
|
+ omstruckOrderMapper.batchDelete(orderIdList);
|
|
|
+ omstruckOrderMaterialMapper.batchByOrderIdDelete(orderIdList);
|
|
|
+ omstruckOrderMaterialMapper.batchByOrderIdForTotalDelete(orderIdList);
|
|
|
+ return orderIdList.size();
|
|
|
+ }
|
|
|
}
|