|
@@ -3,19 +3,17 @@ package com.steerinfo.dil.service.impl;
|
|
|
import com.steerinfo.dil.feign.AmsFeign;
|
|
|
import com.steerinfo.dil.feign.IMFeign;
|
|
|
import com.steerinfo.dil.feign.TmsTruckFeign;
|
|
|
-import com.steerinfo.dil.mapper.OmstruckOrderMapper;
|
|
|
-import com.steerinfo.dil.mapper.OmstruckOrderMaterialMapper;
|
|
|
-import com.steerinfo.dil.mapper.RmsCapacityMapper;
|
|
|
-import com.steerinfo.dil.model.AmsSaleOrderMaterial;
|
|
|
-import com.steerinfo.dil.model.OmstruckOrder;
|
|
|
-import com.steerinfo.dil.model.OmstruckOrderMaterial;
|
|
|
-import com.steerinfo.dil.model.RmsCapacity;
|
|
|
+import com.steerinfo.dil.mapper.*;
|
|
|
+import com.steerinfo.dil.model.*;
|
|
|
import com.steerinfo.dil.service.IOmstruckOrderService;
|
|
|
import com.steerinfo.dil.util.DataChange;
|
|
|
+import com.sun.javafx.collections.MappingChange;
|
|
|
+import javafx.beans.binding.ObjectBinding;
|
|
|
import javafx.scene.paint.Material;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import redis.clients.util.Hashing;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
@@ -56,6 +54,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
@Autowired
|
|
|
RmsCapacityMapper rmsCapacityMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ RmsDriverCapacityMapper rmsDriverCapacityMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ AmstruckInwardPlanMapper amstruckInwardPlanMapper;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 用于远程调用运输订单新增
|
|
@@ -106,6 +110,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
case 5:
|
|
|
case 6:
|
|
|
case 7:
|
|
|
+ i = addCGPurOrders(map);
|
|
|
+ break;
|
|
|
case 8:
|
|
|
i = addCGPurOrder(map); //新增采购运输订单
|
|
|
break;
|
|
@@ -119,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
|
|
@@ -139,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
|
|
@@ -185,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;
|
|
@@ -201,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;
|
|
@@ -285,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);
|
|
@@ -321,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");
|
|
@@ -346,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);
|
|
@@ -417,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);
|
|
|
}
|
|
@@ -479,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);
|
|
@@ -503,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);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -603,10 +652,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
public List<Map<String, Object>> sendMesToDriver(Map<String, Object> map) {
|
|
|
//通过车牌号匹配运力ID
|
|
|
BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum((String) map.get("capacityNumber"));
|
|
|
- map.put("capacityId", capacityId);
|
|
|
if (capacityId == null) {
|
|
|
return null;
|
|
|
}
|
|
|
+ map.put("capacityId", capacityId);
|
|
|
//通过运力Id匹配 已下发的运输订单
|
|
|
List<Map<String, Object>> truckOrderByCapacityNum;
|
|
|
if ((Integer) map.get("orderType") == 1 || (Integer) map.get("orderType") == 2) {
|
|
@@ -918,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司机接单查询数据
|
|
@@ -970,6 +1019,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
@Override
|
|
|
public Map<String, Object> getTruckNoDispatchMap(Integer dispatchId) {
|
|
|
Map<String, Object> map = omstruckOrderMapper.getTruckNoDispatchMap(new BigDecimal(dispatchId));
|
|
|
+ List<BigDecimal> orderIdList = omstruckOrderMapper.getNullOrNotNull(new BigDecimal(dispatchId));
|
|
|
+ if (orderIdList != null || orderIdList.size() != 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
List<Map<String, Object>> materialMessages = omstruckOrderMapper.getMaterialMessages(new BigDecimal(dispatchId));
|
|
|
String allMaterialName = "";
|
|
|
String allMaterialNumber = "";
|
|
@@ -1031,15 +1084,15 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
|
|
|
/**
|
|
|
* 承运商分派运输订单给司机
|
|
|
- *
|
|
|
* @param dispatchId
|
|
|
* @param orderType
|
|
|
- * @param driverCapacityId
|
|
|
+ * @param capacityNumber
|
|
|
+ * @param carrierId
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public int addAppTruckOrder(Integer dispatchId, Integer orderType, Integer driverCapacityId) {
|
|
|
+ public int addAppTruckOrder(Integer dispatchId, Integer orderType, String capacityNumber, Integer carrierId) {
|
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
BigDecimal orderId = omstruckOrderMapper.selectMaxId();
|
|
|
omstruckOrder.setOrderId(orderId);
|
|
@@ -1056,7 +1109,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
omstruckOrder.setInsertUpdateRemark("无");
|
|
|
omstruckOrder.setDeleted(new BigDecimal(0));
|
|
|
omstruckOrder.setOrderType(new BigDecimal(orderType));
|
|
|
- omstruckOrder.setDriverCapacityId(new BigDecimal(driverCapacityId));
|
|
|
+ BigDecimal capacityId = omstruckOrderMapper.getCapacityId(capacityNumber);
|
|
|
+ BigDecimal driverCapacityId = omstruckOrderMapper.getDriverCapacityId(capacityId);
|
|
|
+ omstruckOrder.setDriverCapacityId(driverCapacityId);
|
|
|
+ RmsDriverCapacity rmsDriverCapacity = rmsDriverCapacityMapper.selectByPrimaryKey(driverCapacityId);
|
|
|
+ rmsDriverCapacity.setCarrierId(new BigDecimal(carrierId));
|
|
|
+ rmsDriverCapacityMapper.updateByPrimaryKeySelective(rmsDriverCapacity);
|
|
|
List<Map<String, Object>> mapList = omstruckOrderMapper.getMaterialMessages(new BigDecimal(dispatchId));
|
|
|
if (mapList != null && mapList.size() != 0) {
|
|
|
for (Map<String, Object> map : mapList) {
|
|
@@ -1080,12 +1138,246 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
|
|
|
}
|
|
|
}
|
|
|
- BigDecimal capacityId = omstruckOrderMapper.getCapacityId(new BigDecimal(driverCapacityId));
|
|
|
RmsCapacity rmsCapacity = rmsCapacityMapper.selectByPrimaryKey(capacityId);
|
|
|
rmsCapacity.setCapacityStatus(new BigDecimal(2));
|
|
|
rmsCapacityMapper.updateByPrimaryKeySelective(rmsCapacity);
|
|
|
return omstruckOrderMapper.insertSelective(omstruckOrder);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据运单id关闭订单
|
|
|
+ * @param orderId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int closeOmstruckOrder(BigDecimal orderId) {
|
|
|
+ OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(7));
|
|
|
+ int result = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询所有车牌号和司机
|
|
|
+ * @param mapValue
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> getCapacityAndDriverList(Map<String, Object> mapValue) {
|
|
|
+ return omstruckOrderMapper.getCapacityAndDriver(mapValue);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int closeOrder(Map<String, Object> map) {
|
|
|
+ Integer orderId =(Integer) map.get("orderId");
|
|
|
+ OmstruckOrder omstruckOrder=new OmstruckOrder();
|
|
|
+ omstruckOrder.setOrderId(DataChange.dataToBigDecimal(orderId));
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(8));
|
|
|
+ omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增内转运输订单
|
|
|
+ * @param mapValue
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public int addInwardOrder(Map<String, Object> mapValue) {
|
|
|
+ int result = 0;
|
|
|
+ List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
|
|
|
+ String planId = (String) mapValue.get("planId");
|
|
|
+ Integer lineId = (Integer) mapValue.get("lineId");
|
|
|
+ String orderType = (String) mapValue.get("orderType");
|
|
|
+ Integer carrierId = (Integer) mapValue.get("carrierId");
|
|
|
+ AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(new BigDecimal(planId));
|
|
|
+ amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
|
|
|
+ result += amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
|
|
|
+ BigDecimal materialId = omstruckOrderMapper.getInwardMaterial(new BigDecimal(planId));
|
|
|
+ for (Map<String,Object> orderMap : mapList) {
|
|
|
+ OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
+ String capacityNumber = (String)orderMap.get("capacityNumber");
|
|
|
+ BigDecimal materialNumber = DataChange.dataToBigDecimal(orderMap.get("materialNumber")) ;
|
|
|
+ BigDecimal materialWeight = DataChange.dataToBigDecimal(orderMap.get("materialWeight"));
|
|
|
+ Map<String,Object> capacityMap = new HashMap<>();
|
|
|
+ capacityMap.put("capacityNumber",capacityNumber);
|
|
|
+ List<RmsCapacity> rmsCapacities = rmsCapacityMapper.selectByParameters(capacityMap);
|
|
|
+ RmsCapacity rmsCapacity = rmsCapacities.get(0);
|
|
|
+ rmsCapacity.setCapacityStatus(new BigDecimal(2));
|
|
|
+ result +=rmsCapacityMapper.updateByPrimaryKeySelective(rmsCapacity);
|
|
|
+ BigDecimal capacityId = rmsCapacity.getCapacityId();
|
|
|
+ capacityMap.clear();
|
|
|
+ capacityMap.put("capacityId",capacityId);
|
|
|
+ List<RmsDriverCapacity> rmsDriverCapacities = rmsDriverCapacityMapper.selectByParameters(capacityMap);
|
|
|
+ RmsDriverCapacity rmsDriverCapacity = rmsDriverCapacities.get(0);
|
|
|
+ rmsDriverCapacity.setCarrierId(new BigDecimal(carrierId));
|
|
|
+ result +=rmsDriverCapacityMapper.updateByPrimaryKeySelective(rmsDriverCapacity);
|
|
|
+ BigDecimal orderId = omstruckOrderMapper.selectMaxId();
|
|
|
+ omstruckOrder.setOrderId(orderId);
|
|
|
+ omstruckOrder.setOrderPlanId(new BigDecimal(planId));
|
|
|
+ String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue());
|
|
|
+ omstruckOrder.setOrderNumber(orderNumber);
|
|
|
+ omstruckOrder.setOrderIssueTime(new Date());
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(3));
|
|
|
+ omstruckOrder.setInsertTime(new Date());
|
|
|
+ omstruckOrder.setUpdateTime(new Date());
|
|
|
+ omstruckOrder.setInsertUsername("admin");
|
|
|
+ omstruckOrder.setUpdateUsername("admin");
|
|
|
+ omstruckOrder.setInsertUpdateRemark("无");
|
|
|
+ omstruckOrder.setDeleted(new BigDecimal(0));
|
|
|
+ omstruckOrder.setOrderType(new BigDecimal(orderType));
|
|
|
+ omstruckOrder.setLineId(new BigDecimal(lineId));
|
|
|
+ omstruckOrder.setDriverCapacityId(rmsDriverCapacity.getDriverCapacityId());
|
|
|
+ result +=omstruckOrderMapper.insertSelective(omstruckOrder);
|
|
|
+ OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
|
|
|
+ BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
|
|
|
+ omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
|
|
|
+ omstruckOrderMaterial.setOrderId(orderId);
|
|
|
+ omstruckOrderMaterial.setMaterialId(materialId);
|
|
|
+ omstruckOrderMaterial.setOrderMaterialNumber(materialNumber);
|
|
|
+ omstruckOrderMaterial.setInsertTime(new Date());
|
|
|
+ omstruckOrderMaterial.setUpdateTime(new Date());
|
|
|
+ omstruckOrderMaterial.setInsertUsername("admin");
|
|
|
+ omstruckOrderMaterial.setUpdateUsername("admin");
|
|
|
+ omstruckOrderMaterial.setInsertUpdateRemark("无");
|
|
|
+ omstruckOrderMaterial.setOrderMaterialWeight(materialWeight);
|
|
|
+ result +=omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询分解计划
|
|
|
+ * @param mapValue
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> getInwardOrderList(Map<String, Object> mapValue) {
|
|
|
+ List<Map<String,Object>> mapList = omstruckOrderMapper.getInwardOrderList(mapValue);
|
|
|
+ return mapList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 下发计划
|
|
|
+ * @param mapList
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int issuePlanOrder(List<Map<String, Object>> mapList) {
|
|
|
+ int result = 0;
|
|
|
+ for (Map<String,Object> map : mapList) {
|
|
|
+ Integer orderId = (Integer) map.get("orderId");
|
|
|
+ OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(new BigDecimal(orderId));
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(4));
|
|
|
+ omstruckOrder.setOrderIssueTime(new Date());
|
|
|
+ result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分派计划
|
|
|
+ * @param mapList
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int apportionInwardOrder(List<Map<String, Object>> mapList) {
|
|
|
+ int result = 0;
|
|
|
+ for (Map<String,Object> map : mapList) {
|
|
|
+ BigDecimal orderId = new BigDecimal((Integer) map.get("orderId"));
|
|
|
+ OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
|
|
|
+ omstruckOrder.setOrderIssueTime(new Date());
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(4));
|
|
|
+ result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 司机APP端查询下发给自己运输订单
|
|
|
+ * @param capacityNumber
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> sendOrderToApp(String capacityNumber) {
|
|
|
+ //通过车牌号匹配运力ID
|
|
|
+ BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum(capacityNumber);
|
|
|
+ BigDecimal driverCapacityId = omstruckOrderMapper.getDriverCapacityId(capacityId);
|
|
|
+ List<Map<String,Object>> resultList = omstruckOrderMapper.getResultList(driverCapacityId);
|
|
|
+ for (Map<String,Object> map : resultList) {
|
|
|
+ BigDecimal orderId = (BigDecimal) map.get("orderId");
|
|
|
+ BigDecimal orderType = (BigDecimal) map.get("orderType");
|
|
|
+ // 查询物资信息
|
|
|
+ List<Map<String,Object>> materialMapList = omstruckOrderMapper.getMaterialMes(orderId);
|
|
|
+ int intValue = orderType.intValue();
|
|
|
+ String allMaterialName = null;
|
|
|
+ String allMaterialNumber = null;
|
|
|
+ String allMaterialWeight = null;
|
|
|
+ String allMaterialSpecificationModel = null;
|
|
|
+ // 对物资信息进行处理
|
|
|
+ if (materialMapList != null && materialMapList.size() != 0) {
|
|
|
+ for (Map<String,Object> materialMap : materialMapList) {
|
|
|
+ String materialName = (String) materialMap.get("materialName");
|
|
|
+ BigDecimal materialNumber = (BigDecimal) materialMap.get("materialNumber");
|
|
|
+ BigDecimal materialWeight = (BigDecimal) materialMap.get("materialWeight");
|
|
|
+ String materialModel = (String) materialMap.get("materialModel");
|
|
|
+ String materialSpecification = (String) materialMap.get("materialSpecification");
|
|
|
+ allMaterialName += materialName + "/";
|
|
|
+ allMaterialNumber += materialNumber + "/";
|
|
|
+ allMaterialWeight += materialWeight + "/";
|
|
|
+ allMaterialSpecificationModel += materialSpecification + materialModel + "/";
|
|
|
+ }
|
|
|
+ String subMaterialName = null;
|
|
|
+ String subMaterialNumber = null;
|
|
|
+ String subMaterialWeight = null;
|
|
|
+ String subMaterialSpecificationModel = null;
|
|
|
+ if (allMaterialName.length() >= 2) {
|
|
|
+ subMaterialName = allMaterialName.substring(0, allMaterialName.length() - 2);
|
|
|
+ }
|
|
|
+ if (allMaterialName.length() < 2) {
|
|
|
+ subMaterialName = allMaterialName;
|
|
|
+ }
|
|
|
+ if (allMaterialNumber.length() >= 2) {
|
|
|
+ subMaterialNumber = allMaterialNumber.substring(0, allMaterialNumber.length() - 2);
|
|
|
+ }
|
|
|
+ if (allMaterialNumber.length() < 2) {
|
|
|
+ subMaterialNumber = allMaterialNumber;
|
|
|
+ }
|
|
|
+ if (allMaterialWeight.length() >= 2) {
|
|
|
+ subMaterialWeight = allMaterialWeight.substring(0, allMaterialWeight.length() - 2);
|
|
|
+ }
|
|
|
+ if (allMaterialWeight.length() < 2) {
|
|
|
+ subMaterialWeight = allMaterialWeight;
|
|
|
+ }
|
|
|
+ if (allMaterialSpecificationModel.length() >= 2) {
|
|
|
+ subMaterialSpecificationModel = allMaterialSpecificationModel.substring(0, allMaterialSpecificationModel.length() - 2);
|
|
|
+ }
|
|
|
+ if (allMaterialSpecificationModel.length() < 2) {
|
|
|
+ subMaterialSpecificationModel = allMaterialSpecificationModel;
|
|
|
+ }
|
|
|
+ map.put("allMaterialName", subMaterialName);
|
|
|
+ map.put("allMaterialNumber", subMaterialNumber);
|
|
|
+ map.put("allMaterialWeight", subMaterialWeight);
|
|
|
+ map.put("allMaterialSpecificationModel", subMaterialSpecificationModel);
|
|
|
+ }
|
|
|
+ Map<String,Object> orderMap = null;
|
|
|
+ if (intValue == 1 || intValue == 2 || intValue == 3) {
|
|
|
+ orderMap = omstruckOrderMapper.getSaleOrderMap(orderId);
|
|
|
+ }
|
|
|
+ if (intValue == 4) {
|
|
|
+ orderMap = omstruckOrderMapper.getSteelInwardOrderMap(orderId);
|
|
|
+ }
|
|
|
+ if (intValue == 5 || intValue == 6 || intValue == 7 || intValue == 8) {
|
|
|
+ orderMap = omstruckOrderMapper.getPurchaseOrderMap(orderId);
|
|
|
+ }
|
|
|
+ if (intValue == 9 || intValue == 10 || intValue == 11) {
|
|
|
+ orderMap = omstruckOrderMapper.getInwardOrderMap(orderId);
|
|
|
+ }
|
|
|
+ map.putAll(orderMap);
|
|
|
+ }
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|