|
@@ -545,12 +545,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public int driverReceiveOrRefuse(Map<String, Object> map) {
|
|
|
|
|
|
+ public synchronized int driverReceiveOrRefuse(Map<String, Object> map) {
|
|
BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
|
|
BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
- if((Integer) map.get("orderReceiveStatus") == 1){
|
|
|
|
|
|
+ if((Integer) map.get("orderReceiveStatus") == 1) {
|
|
List<Integer> orderIdList = omstruckOrderMapper.getReceiveOrderIdListByCapacityNum((String) map.get("capacityNumber"));
|
|
List<Integer> orderIdList = omstruckOrderMapper.getReceiveOrderIdListByCapacityNum((String) map.get("capacityNumber"));
|
|
- if(orderIdList.size() > 0){
|
|
|
|
|
|
+ if (orderIdList.size() > 0) {
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
|
|
omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
|
|
@@ -558,7 +558,19 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
|
|
Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
|
|
//添加各个实绩
|
|
//添加各个实绩
|
|
omstruckOrderSeparateService.addAllSonResult(orderMessage);
|
|
omstruckOrderSeparateService.addAllSonResult(orderMessage);
|
|
- }else { //其他状态都视为 拒绝接单
|
|
|
|
|
|
+
|
|
|
|
+ //判断订单是否是一车多单
|
|
|
|
+ BigDecimal orderType = (BigDecimal) orderMessage.get("orderType");
|
|
|
|
+ if (orderType.intValue()==15 || orderType.intValue()==16) {
|
|
|
|
+ //通过订单查询趟次
|
|
|
|
+ Integer sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(orderId);
|
|
|
|
+ //生成作业实绩之后、更改订单数量
|
|
|
|
+ if (orderMessage.containsKey("orderPlanId") && sporadicOrderTimes > 0) {
|
|
|
|
+ int state = omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()), sporadicOrderTimes - 1);
|
|
|
|
+ System.out.println(state);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else { //其他状态都视为 拒绝接单
|
|
omstruckOrder.setOrderStatus(new BigDecimal(6));
|
|
omstruckOrder.setOrderStatus(new BigDecimal(6));
|
|
//添加拒绝原因
|
|
//添加拒绝原因
|
|
omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
|
|
omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
|