|
@@ -17,7 +17,9 @@ import org.junit.Test;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
|
|
+import javax.xml.crypto.Data;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -580,9 +582,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
int result=0;
|
|
int result=0;
|
|
BigDecimal orderId =DataChange.dataToBigDecimal(map.get("orderId"));
|
|
BigDecimal orderId =DataChange.dataToBigDecimal(map.get("orderId"));
|
|
Map<String, Object> mesMap = omstruckOrderSeparateMapper.getOrderMesByOrderId(orderId);
|
|
Map<String, Object> mesMap = omstruckOrderSeparateMapper.getOrderMesByOrderId(orderId);
|
|
- if(DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 1||DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 4){
|
|
|
|
- throw new Exception("钢材订单不允许撤销!");
|
|
|
|
- }
|
|
|
|
|
|
+ //if(DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 1||DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 4){
|
|
|
|
+ // throw new Exception("钢材订单不允许撤销!");
|
|
|
|
+ //}
|
|
if(DataChange.dataToBigDecimal(mesMap.get("lineSqe")).intValue() >= 1){
|
|
if(DataChange.dataToBigDecimal(mesMap.get("lineSqe")).intValue() >= 1){
|
|
throw new Exception("撤单失败");
|
|
throw new Exception("撤单失败");
|
|
}
|
|
}
|
|
@@ -857,19 +859,19 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
public int driverReceiveOrRefuse(Map<String, Object> map) throws RuntimeException {
|
|
public int driverReceiveOrRefuse(Map<String, Object> map) throws RuntimeException {
|
|
BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
|
|
BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
|
+ //通过订单ID查询信息
|
|
|
|
+ Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
|
|
|
|
+ int orderType = DataChange.dataToBigDecimal(orderMessage.get("orderType")).intValue();
|
|
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) {
|
|
throw new RuntimeException("已有接收的订单!");
|
|
throw new RuntimeException("已有接收的订单!");
|
|
}
|
|
}
|
|
omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
|
|
omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
|
|
- //通过订单ID查询信息
|
|
|
|
- Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
|
|
|
|
int orderStatus = DataChange.dataToBigDecimal(orderMessage.get("orderStatus")).intValue();
|
|
int orderStatus = DataChange.dataToBigDecimal(orderMessage.get("orderStatus")).intValue();
|
|
if(orderStatus == 5 || orderStatus == 6) {
|
|
if(orderStatus == 5 || orderStatus == 6) {
|
|
throw new RuntimeException("订单已被接收或已被拒绝!");
|
|
throw new RuntimeException("订单已被接收或已被拒绝!");
|
|
}
|
|
}
|
|
- int orderType = DataChange.dataToBigDecimal(orderMessage.get("orderType")).intValue();
|
|
|
|
if(orderType == 1){
|
|
if(orderType == 1){
|
|
//订阅车辆 查询车牌号
|
|
//订阅车辆 查询车牌号
|
|
String capacityNumber = omstruckOrderMapper.getCapacityNumberByCapacityId(DataChange.dataToBigDecimal(orderMessage.get("capacityId")));
|
|
String capacityNumber = omstruckOrderMapper.getCapacityNumberByCapacityId(DataChange.dataToBigDecimal(orderMessage.get("capacityId")));
|
|
@@ -884,7 +886,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
zjxlUtilMapper.insertSubCapacity(zjxlUtilMapper.getSubCapacityMaxId(), capacityNumber, DataChange.dataToBigDecimal(orderMessage.get("resultTotalId")));
|
|
zjxlUtilMapper.insertSubCapacity(zjxlUtilMapper.getSubCapacityMaxId(), capacityNumber, DataChange.dataToBigDecimal(orderMessage.get("resultTotalId")));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(orderType == 11 || orderType == 15 || orderType == 16){
|
|
|
|
|
|
+ if(orderType == 11 || orderType == 15 || orderType == 16 ){
|
|
//判断是否为化专线厂区内转
|
|
//判断是否为化专线厂区内转
|
|
Map<String, Object> inwardLine = omstruckOrderMapper.isInwardLine(orderId);
|
|
Map<String, Object> inwardLine = omstruckOrderMapper.isInwardLine(orderId);
|
|
String rangeValue = (String) inwardLine.get("rangeValue");
|
|
String rangeValue = (String) inwardLine.get("rangeValue");
|
|
@@ -901,7 +903,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
if (!"200".equals(mcMap.get("code"))) {
|
|
if (!"200".equals(mcMap.get("code"))) {
|
|
throw new RuntimeException("委托发送失败!");
|
|
throw new RuntimeException("委托发送失败!");
|
|
}
|
|
}
|
|
- }else if(orderType!=21&&orderType!=25){
|
|
|
|
|
|
+ }else if(orderType!=21&&orderType!=25 && orderType!=26){
|
|
//添加各个实绩
|
|
//添加各个实绩
|
|
omstruckOrderSeparateService.addAllSonResult(orderMessage);
|
|
omstruckOrderSeparateService.addAllSonResult(orderMessage);
|
|
if (orderType==19){
|
|
if (orderType==19){
|
|
@@ -939,6 +941,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else { //其他状态都视为 拒绝接单
|
|
} else { //其他状态都视为 拒绝接单
|
|
|
|
+ if(orderType == 1){
|
|
|
|
+ throw new RuntimeException("钢材不允许撤销订单!");
|
|
|
|
+ }
|
|
omstruckOrder.setOrderStatus(new BigDecimal(6));
|
|
omstruckOrder.setOrderStatus(new BigDecimal(6));
|
|
//添加拒绝原因
|
|
//添加拒绝原因
|
|
omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
|
|
omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
|
|
@@ -1519,17 +1524,22 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据运单id关闭订单
|
|
* 根据运单id关闭订单
|
|
- * @param orderId
|
|
|
|
|
|
+ * @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int closeOmstruckOrder(BigDecimal orderId) throws Exception {
|
|
|
|
|
|
+ public int closeOmstruckOrder(Map<String,Object> map) throws Exception {
|
|
|
|
+ //获取订单id
|
|
|
|
+ BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
|
|
|
|
+ String operationUserId = (String) map.get("userId");
|
|
BigDecimal i = omstruckOrderSeparateMapper.getWeightTask(orderId);
|
|
BigDecimal i = omstruckOrderSeparateMapper.getWeightTask(orderId);
|
|
if(i != null){
|
|
if(i != null){
|
|
throw new Exception("存在计量实绩,无法删除");
|
|
throw new Exception("存在计量实绩,无法删除");
|
|
}
|
|
}
|
|
OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
|
|
OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(orderId);
|
|
omstruckOrder.setOrderStatus(new BigDecimal(7));
|
|
omstruckOrder.setOrderStatus(new BigDecimal(7));
|
|
|
|
+ omstruckOrder.setInsertUpdateRemark("用户:" + operationUserId + "操作删除");
|
|
|
|
+ omstruckOrder.setUpdateTime(new Date());
|
|
int result = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
int result = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
@@ -1585,6 +1595,11 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
orderType = BigDecimal.valueOf(25);
|
|
orderType = BigDecimal.valueOf(25);
|
|
mapValue.put("orderType", orderType);
|
|
mapValue.put("orderType", orderType);
|
|
}
|
|
}
|
|
|
|
+ if(inwardType.equals("计次")){
|
|
|
|
+ mapValue.remove(orderType);
|
|
|
|
+ orderType = BigDecimal.valueOf(26);
|
|
|
|
+ mapValue.put("orderType", orderType);
|
|
|
|
+ }
|
|
Integer carrierId = (Integer) mapValue.get("carrierId");
|
|
Integer carrierId = (Integer) mapValue.get("carrierId");
|
|
AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
|
|
AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
|
|
amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
|
|
amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
|
|
@@ -2025,6 +2040,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
**/
|
|
**/
|
|
public boolean getDriverConfirmation(Map<String, Object> map){
|
|
public boolean getDriverConfirmation(Map<String, Object> map){
|
|
Integer driverConfirmation = omstruckOrderMapper.getDriverConfirmation(DataChange.dataToBigDecimal(map.get("orderId")));
|
|
Integer driverConfirmation = omstruckOrderMapper.getDriverConfirmation(DataChange.dataToBigDecimal(map.get("orderId")));
|
|
|
|
+ //获取当前路段顺序号与订单路段顺序号
|
|
|
|
+ Map<String, Object> seqMap = omstruckOrderMapper.getMaxLineSeqByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
|
|
|
|
+ //订单当前路段顺序号
|
|
|
|
+ if(seqMap != null){
|
|
|
|
+ BigDecimal orderLineSequence = DataChange.dataToBigDecimal(seqMap.get("orderLineSequence"));
|
|
|
|
+ //路径最大路段顺序号
|
|
|
|
+ BigDecimal maxSegmentSqe = DataChange.dataToBigDecimal(seqMap.get("segmentSqe"));
|
|
|
|
+ int i = maxSegmentSqe.intValue() - orderLineSequence.intValue();
|
|
|
|
+ if(i != 1 && i != 2){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
return driverConfirmation == null;
|
|
return driverConfirmation == null;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2106,6 +2133,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
mesMap =omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
|
|
mesMap =omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
|
|
mesMap.put("inwardType", "内转计时");
|
|
mesMap.put("inwardType", "内转计时");
|
|
break;
|
|
break;
|
|
|
|
+ case 26:
|
|
|
|
+ mesMap =omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
|
|
|
|
+ mesMap.put("inwardType", "内转计次");
|
|
|
|
+ break;
|
|
case 12:
|
|
case 12:
|
|
case 13:
|
|
case 13:
|
|
case 14:
|
|
case 14:
|
|
@@ -2129,8 +2160,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
String steelmeter1 = steelmeter.toString();
|
|
String steelmeter1 = steelmeter.toString();
|
|
steelmeter1+="米";
|
|
steelmeter1+="米";
|
|
//原来的物资名称
|
|
//原来的物资名称
|
|
- String materialName = (String) stringObjectMap.get("materialName");
|
|
|
|
- stringObjectMap.put("materialName",materialName+" "+steelmeter1);
|
|
|
|
|
|
+ String materialMC = (String) stringObjectMap.get("materialMC");
|
|
|
|
+ stringObjectMap.put("materialMC",materialMC+" "+steelmeter1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|