|
@@ -1967,7 +1967,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
}else {
|
|
|
mapValue.put("capacityTel",0);
|
|
|
}
|
|
|
-
|
|
|
if (lineSequence == null || "0".equals(lineSequence.toString()) || "1".equals(lineSequence.toString()) || "2".equals(lineSequence.toString())) {
|
|
|
String capacityids="";
|
|
|
Integer capacityid1= (Integer) mapValue.get("capacityIds");
|
|
@@ -1977,37 +1976,73 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
}
|
|
|
mapValue.put("capacityids",capacityids);
|
|
|
//这是修改车牌号
|
|
|
- //将排队信息删掉
|
|
|
- Map<String, Object> isSpellingMap = omstruckOrderMapper.getSteelIsSpelling(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
- if(isSpellingMap != null && isSpellingMap.get("listId") != null){
|
|
|
- int isSpelling = DataChange.dataToBigDecimal(isSpellingMap.get("isSpelling")).intValue();
|
|
|
- if(isSpelling == 1 ){
|
|
|
- result += omstruckOrderMapper.deleteSpellingList(isSpellingMap.get("listId"));
|
|
|
+ //取消是新车牌号,那么不删除排队信息,不删除实绩信息,将运单状态变为7
|
|
|
+ if (DataChange.dataToBigDecimal(mapValue.get("capacityId")).compareTo(new BigDecimal(35128)) != 0) {
|
|
|
+ //根据订单id查询车牌号改动记录
|
|
|
+ String oldCpacityIds = omstruckOrderMapper.getOrderCapacityHistory(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
+ BigDecimal oldOldCapacityId = null;
|
|
|
+ if(oldCpacityIds != null) {
|
|
|
+ oldOldCapacityId = DataChange.dataToBigDecimal(oldCpacityIds.split(",")[0]);
|
|
|
+ }
|
|
|
+ //如果旧车号是取消,且取消的前一个车与该车相等,那么就将状态还原
|
|
|
+ if (oldCapacityId.compareTo(new BigDecimal(35128)) == 0 && DataChange.dataToBigDecimal(mapValue.get("capacityId")).compareTo(oldOldCapacityId) == 0 ) {
|
|
|
+ //判断该订单下有没有子实绩
|
|
|
+ BigDecimal resultId = amsSaleOrderMaterialMapper.selectEnFactory(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
+ if(resultId == null) {
|
|
|
+ OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
+ omstruckOrder.setOrderId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(4));
|
|
|
+ omstruckOrder.setOrderLineSequence(new BigDecimal(0));
|
|
|
+ omstruckOrder.setInsertUpdateRemark("将取消改回来原来的车状态不变!");
|
|
|
+ /*omstruckOrder.set*/
|
|
|
+ result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ }else{
|
|
|
+ OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
+ omstruckOrder.setOrderId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(5));
|
|
|
+ omstruckOrder.setInsertUpdateRemark("将取消改回来原来的车状态不变!");
|
|
|
+ /*omstruckOrder.set*/
|
|
|
+ result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ }
|
|
|
+
|
|
|
}else{
|
|
|
- result += omstruckOrderMapper.deleteQueueList(isSpellingMap.get("listId"));
|
|
|
+ //将排队信息删掉
|
|
|
+ Map<String, Object> isSpellingMap = omstruckOrderMapper.getSteelIsSpelling(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
+ if(isSpellingMap != null && isSpellingMap.get("listId") != null){
|
|
|
+ int isSpelling = DataChange.dataToBigDecimal(isSpellingMap.get("isSpelling")).intValue();
|
|
|
+ if(isSpelling == 1 ){
|
|
|
+ result += omstruckOrderMapper.deleteSpellingList(isSpellingMap.get("listId"));
|
|
|
+ }else{
|
|
|
+ result += omstruckOrderMapper.deleteQueueList(isSpellingMap.get("listId"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //若是接单之后还需要删除实绩且将状态变为4
|
|
|
+ //查询运输订单的状态和总实绩ID
|
|
|
+ Map<String, Object> orderMesMap = amsSaleOrderMapper.getOrderMes(mapValue);
|
|
|
+ BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMesMap.get("resultTotalId"));
|
|
|
+ //删除排队实绩
|
|
|
+ if (resultTotalId !=null && !("".equals(resultTotalId))){
|
|
|
+ omstruckOrderMapper.deleteQueuingPerformance(resultTotalId);
|
|
|
+ }
|
|
|
+ OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
+ omstruckOrder.setOrderId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(4));
|
|
|
+ omstruckOrder.setOrderLineSequence(new BigDecimal(0));
|
|
|
+ /*omstruckOrder.set*/
|
|
|
+ result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ result += omstruckOrderMapper.deleteEnResult(resultTotalId);
|
|
|
+ result += omstruckOrderMapper.deleteWeightResult(resultTotalId);
|
|
|
+ result += omstruckOrderMapper.deleteLoadResult(resultTotalId);
|
|
|
+ result += omstruckOrderMapper.deleteLeaveResult(resultTotalId);
|
|
|
}
|
|
|
- }
|
|
|
- result += amsSaleOrderMapper.updateCapacityNumberInFactory(mapValue);
|
|
|
- //若是接单之后还需要删除实绩且将状态变为4
|
|
|
- //查询运输订单的状态和总实绩ID
|
|
|
- Map<String, Object> orderMesMap = amsSaleOrderMapper.getOrderMes(mapValue);
|
|
|
- BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMesMap.get("resultTotalId"));
|
|
|
- //删除排队实绩
|
|
|
- if (resultTotalId !=null && !("".equals(resultTotalId))){
|
|
|
- omstruckOrderMapper.deleteQueuingPerformance(resultTotalId);
|
|
|
- }
|
|
|
- if(DataChange.dataToBigDecimal(orderMesMap.get("orderStatus")).intValue() == 5){
|
|
|
+ }else{
|
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
omstruckOrder.setOrderId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
|
|
|
- omstruckOrder.setOrderStatus(new BigDecimal(4));
|
|
|
- omstruckOrder.setOrderLineSequence(new BigDecimal(0));
|
|
|
- /*omstruckOrder.set*/
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(7));
|
|
|
+ omstruckOrder.setInsertUpdateRemark("取消车牌号,保留实绩将状态变为7");
|
|
|
result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
- result += omstruckOrderMapper.deleteEnResult(resultTotalId);
|
|
|
- result += omstruckOrderMapper.deleteWeightResult(resultTotalId);
|
|
|
- result += omstruckOrderMapper.deleteLoadResult(resultTotalId);
|
|
|
- result += omstruckOrderMapper.deleteLeaveResult(resultTotalId);
|
|
|
}
|
|
|
+ result += amsSaleOrderMapper.updateCapacityNumberInFactory(mapValue);
|
|
|
}
|
|
|
mapValue.put("result",result);
|
|
|
return mapValue;
|