|
@@ -110,6 +110,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
case 5:
|
|
|
case 6:
|
|
|
case 7:
|
|
|
+ i = addCGPurOrders(map);
|
|
|
+ break;
|
|
|
case 8:
|
|
|
i = addCGPurOrder(map); //新增采购运输订单
|
|
|
break;
|
|
@@ -123,9 +125,44 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 新增采购其他订单
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public int addCGPurOrders(Map<String, Object> map){
|
|
|
+ //从map中获取司机运力列表
|
|
|
+ List<Map<String, Object>> driverCapacityIdList = (List<Map<String, Object>>) map.get("driverCapacityIdList");
|
|
|
+ BigDecimal purchaseOrderId = DataChange.dataToBigDecimal(map.get("purchaseOrderId"));
|
|
|
+ //物资ID
|
|
|
+ Object materialId = map.get("materialId");
|
|
|
+ BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderType"));
|
|
|
+ //预计进厂时间
|
|
|
+ Date orderEntryTime = new Date((long) map.get("orderEntryTime"));
|
|
|
+ int count = 0;
|
|
|
+ for (Map<String, Object> capacityMap : driverCapacityIdList) {
|
|
|
+ //添加运输订单
|
|
|
+ OmstruckOrder omstruckOrder = generateOmsTruckOrder(map);
|
|
|
+ omstruckOrder.setOrderPlanId(purchaseOrderId);
|
|
|
+ omstruckOrder.setDriverCapacityId(DataChange.dataToBigDecimal(capacityMap.get("driverCapacityId"))); //添加运力排班ID
|
|
|
+ omstruckOrder.setOrderEntryTime(orderEntryTime);
|
|
|
+ omstruckOrder.setLineId(new BigDecimal(1)); // 设置线路 遗留问题
|
|
|
+ count += omstruckOrderMapper.insertSelective(omstruckOrder);
|
|
|
+ BigDecimal orderId = omstruckOrder.getOrderId();
|
|
|
+ //添加运输订单子表
|
|
|
+ capacityMap.put("materialId", materialId);
|
|
|
+ capacityMap.put("orderType", orderType);
|
|
|
+ addOrderMaterial(capacityMap,orderId);
|
|
|
+ //添加总实绩
|
|
|
+ capacityMap.put("orderId", orderId);
|
|
|
+ tmsTruckFeign.addTotalResult(map);
|
|
|
+ //更改运力状态
|
|
|
+ }
|
|
|
+ return count;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
- * 新增采购运输订单订单
|
|
|
+ * 新增采购进口矿运输订单订单
|
|
|
*
|
|
|
* @param map
|
|
|
* @return
|
|
@@ -143,6 +180,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
if (map.get("orderMaterialWeight") != null) {
|
|
|
amsFeign.updateMaterial(map); //更改运输计划子表 增加已分配重量 减少未分配重量 feign调用ams
|
|
|
}
|
|
|
+ //添加运力Id
|
|
|
+ BigDecimal driverCapacityId = DataChange.dataToBigDecimal(map.get("driverCapacityId"));
|
|
|
+ omstruckOrder.setDriverCapacityId(driverCapacityId);
|
|
|
//新增运输订单
|
|
|
omstruckOrderMapper.insertSelective(omstruckOrder);
|
|
|
//更新运力状态为待运输:2
|
|
@@ -189,11 +229,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
case 8:
|
|
|
if (map.get("purchaseOrderId") != null)
|
|
|
omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(map.get("purchaseOrderId")));
|
|
|
- if (map.get("purchaseOrderNo") != null) {
|
|
|
- //通过采购订单号查找采购订单ID
|
|
|
- BigDecimal purchaseOrderId = omstruckOrderMapper.getPurchaseOrderIdByNo((String) map.get("purchaseOrderNo"));
|
|
|
- omstruckOrder.setOrderPlanId(purchaseOrderId);
|
|
|
- }
|
|
|
if (map.get("unloadPointId") != null) // 添加卸货点
|
|
|
omstruckOrder.setUnloadPointId(DataChange.dataToBigDecimal(map.get("unloadPointId")));
|
|
|
break;
|
|
@@ -205,9 +240,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
}
|
|
|
//添加订单类型
|
|
|
omstruckOrder.setOrderType(orderType);
|
|
|
- //添加运力Id
|
|
|
- BigDecimal driverCapacityId = DataChange.dataToBigDecimal(map.get("driverCapacityId"));
|
|
|
- omstruckOrder.setDriverCapacityId(driverCapacityId);
|
|
|
omstruckOrder.setInsertUsername("admin");
|
|
|
omstruckOrder.setInsertTime(new Date());
|
|
|
return omstruckOrder;
|
|
@@ -289,10 +321,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
|
|
|
omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
|
|
|
omstruckOrderMaterial.setOrderId(orderId);
|
|
|
- Object orderMaterialWeight = map.get("orderMaterialWeight"); // 采购辅料没有物资重量
|
|
|
- if (orderMaterialWeight != null) {
|
|
|
- omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(orderMaterialWeight));
|
|
|
- }
|
|
|
+ if (map.get("orderMaterialWeight") != null) // 采购辅料没有物资重量
|
|
|
+ omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(map.get("orderMaterialWeight")));
|
|
|
+ if(map.get("orderMaterialNumber") != null) // 辅料可能有物资件数
|
|
|
+ omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(map.get("orderMaterialNumber")));
|
|
|
omstruckOrderMaterial.setInsertUsername("admin");
|
|
|
omstruckOrderMaterial.setInsertTime(new Date());
|
|
|
omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
|
|
@@ -325,8 +357,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
if (map.get("capacityId") != null) {
|
|
|
omstruckOrder.setCapacityId(DataChange.dataToBigDecimal(map.get("capacityId")));
|
|
|
}
|
|
|
- if (map.get("orderEntryTime") != null) {
|
|
|
+ if(map.get("orderEntryTime") != null){
|
|
|
omstruckOrder.setOrderEntryTime(new Date((long) map.get("orderEntryTime")));
|
|
|
+ }
|
|
|
+ if(map.get("unloadPointId")!=null || map.get("capacityId") != null || map.get("orderEntryTime") != null){
|
|
|
omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
}
|
|
|
Integer orderType = (Integer) map.get("orderType");
|
|
@@ -350,10 +384,13 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
|
|
|
if (map.get("orderMaterialWeight") != null) {
|
|
|
omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(map.get("orderMaterialWeight")));
|
|
|
- //修改运输计划子表 已分配未分配重量
|
|
|
- amsFeign.updateMaterial(map);
|
|
|
+ if(orderType == 8)
|
|
|
+ amsFeign.updateMaterial(map);//修改运输计划子表 已分配未分配重量
|
|
|
+ }
|
|
|
+ if(map.get("orderMaterialNumber") != null) {
|
|
|
+ omstruckOrderMaterial.setOrderMaterialNumber(DataChange.dataToBigDecimal(map.get("orderMaterialNumber")));
|
|
|
}
|
|
|
- if (map.get("materialId") != null) {
|
|
|
+ if (map.get("materialId") != null) {
|
|
|
omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
|
|
|
}
|
|
|
omstruckOrderMaterialMapper.updateByPrimaryKeySelective(omstruckOrderMaterial);
|
|
@@ -421,17 +458,23 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
/**
|
|
|
* 发送消息到 websocket 推送消息
|
|
|
* orderId 订单Id (unloadPointId)卸货点Id
|
|
|
- *
|
|
|
* @return
|
|
|
*/
|
|
|
public void pushMesToWebsocket(Map<String, Object> map) {
|
|
|
Map<String, Object> mesMap = omstruckOrderMapper.pushMesToWebsocket(map);
|
|
|
- HashMap<String, Object> sendMap = new HashMap<>();
|
|
|
- sendMap.put("messageType", 2);
|
|
|
- sendMap.put("receivePerson", mesMap.get("capacityNumber"));
|
|
|
- sendMap.put("sendPerson", "system");
|
|
|
- sendMap.put("messageContent", mesMap);
|
|
|
+ //添加消息实体
|
|
|
+ HashMap<Object, Object> mapp = new HashMap<>();
|
|
|
+ mapp.put("messageType", 2);
|
|
|
+ mapp.put("sendPerson", "system");
|
|
|
+ mapp.put("receivePerson", mesMap.get("capacityNumber"));
|
|
|
+ mapp.put("messageContent", mesMap);
|
|
|
+ mapp.put("createTime", new Date());
|
|
|
+ ArrayList<Object> list = new ArrayList<>();
|
|
|
+ list.add(mapp);
|
|
|
//调用websocket接口推送
|
|
|
+ HashMap<Object, Object> sendMap = new HashMap<>();
|
|
|
+ //将消息实体放入list中存到map中
|
|
|
+ sendMap.put("messages", list);
|
|
|
String s = imFeign.sendToUser(sendMap);
|
|
|
System.out.println(s);
|
|
|
}
|
|
@@ -483,14 +526,16 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
@Override
|
|
|
public int driverReceiveOrRefuse(Map<String, Object> map) {
|
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
- if ((Integer) map.get("orderReceiveStatus") == 1) {
|
|
|
+ if((Integer) map.get("orderReceiveStatus") == 1){
|
|
|
omstruckOrder.setOrderReceiveStatus(new BigDecimal(1));
|
|
|
omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
|
|
|
//添加实绩
|
|
|
addSomeResult(DataChange.dataToBigDecimal(map.get("orderId")).intValue());
|
|
|
- } else { //其他状态都视为 拒绝接单
|
|
|
+ }else { //其他状态都视为 拒绝接单
|
|
|
omstruckOrder.setOrderReceiveStatus(new BigDecimal(0));
|
|
|
omstruckOrder.setOrderStatus(new BigDecimal(6));
|
|
|
+ //添加拒绝原因
|
|
|
+ omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
|
|
|
// //将司机运力置为空闲 通过运输订单Id 查询运力ID
|
|
|
// BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByOrderOrNum(map);
|
|
|
// map.put("capacityId", capacityId);
|
|
@@ -507,7 +552,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
long time = receiveTime.getTime() - issueTime.getTime();
|
|
|
long min = time / (1000 * 60);
|
|
|
omstruckOrder.setOrderCommunicationDuration(new BigDecimal(min));
|
|
|
- return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -922,8 +967,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
|
|
|
//通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
|
|
|
@Override
|
|
|
- public String selectNewOrderId(BigDecimal materialId) {
|
|
|
- return omstruckOrderMapper.selectNewOrderId(materialId);
|
|
|
+ public Map<String, Object> selectNewOrderId(Map<String, Object> map) {
|
|
|
+ return omstruckOrderMapper.selectNewOrderId(map);
|
|
|
}
|
|
|
|
|
|
//app司机接单查询数据
|