|
@@ -293,14 +293,22 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
|
|
i += updateLeaveResultByPDA(map); //更新出厂实绩
|
|
i += updateLeaveResultByPDA(map); //更新出厂实绩
|
|
//更新路段顺序号
|
|
//更新路段顺序号
|
|
i += utilsService.updateOrderLineSequence(map);
|
|
i += utilsService.updateOrderLineSequence(map);
|
|
|
|
+ //判断是否抵达签收,然后根据各自类型不同情况判断是否需要关单
|
|
|
|
+ Boolean isArrivalFlag = isArrivalType(""+orderType);
|
|
|
|
+ //查询自提
|
|
|
|
+ String isSelfMention = tmstruckLeaveFactoryResultMapper.getIsSelfMention(orderId);
|
|
|
|
+ if(!isArrivalFlag || "是".equals(isSelfMention)){
|
|
|
|
+ //不涉及抵达签收,或者自提,统一在此处直接关单
|
|
|
|
+ i += utilsService.closeOrderNormally(map);
|
|
|
|
+ }
|
|
|
|
+ if(isArrivalFlag){
|
|
|
|
+ //如果涉及抵达签收,则标记为允许
|
|
|
|
+ utilsMapper.updateArrival(map);
|
|
|
|
+ }
|
|
switch (orderType){
|
|
switch (orderType){
|
|
case 1:
|
|
case 1:
|
|
- //判断该订单是不是自提
|
|
|
|
- String isSelfMention = tmstruckLeaveFactoryResultMapper.getIsSelfMention(orderId);
|
|
|
|
try {
|
|
try {
|
|
if(isSelfMention != null && isSelfMention.equals("是")) {
|
|
if(isSelfMention != null && isSelfMention.equals("是")) {
|
|
- //如果是自提,则关闭运单
|
|
|
|
- i += utilsService.closeOrderSteel(map);
|
|
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -394,7 +402,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
|
|
if(driverConfirmation == null){
|
|
if(driverConfirmation == null){
|
|
throw new Exception("请提醒司机确认订单!");
|
|
throw new Exception("请提醒司机确认订单!");
|
|
}
|
|
}
|
|
- i += utilsService.closeOrderNormally(map);
|
|
|
|
|
|
+// i += utilsService.closeOrderNormally(map);
|
|
// 判断是否要自动派单
|
|
// 判断是否要自动派单
|
|
Map<String,Object> mapValue = omsFeign.getSaleAllMessages(orderId.intValue());
|
|
Map<String,Object> mapValue = omsFeign.getSaleAllMessages(orderId.intValue());
|
|
Object closeStatus = mapValue.get("closeStatus");
|
|
Object closeStatus = mapValue.get("closeStatus");
|
|
@@ -408,14 +416,14 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
case 4:
|
|
case 4:
|
|
- i += utilsService.closeOrderNormally(map);
|
|
|
|
|
|
+// i += utilsService.closeOrderNormally(map);
|
|
break;
|
|
break;
|
|
case 5:
|
|
case 5:
|
|
case 6:
|
|
case 6:
|
|
case 7:
|
|
case 7:
|
|
case 8:
|
|
case 8:
|
|
//判断出厂路段顺序号是否为最后一个 采购订单关闭订单
|
|
//判断出厂路段顺序号是否为最后一个 采购订单关闭订单
|
|
- i += utilsService.closeOrderNormally(map);
|
|
|
|
|
|
+// i += utilsService.closeOrderNormally(map);
|
|
//查询是否为一车多趟采购订单类型
|
|
//查询是否为一车多趟采购订单类型
|
|
Integer isMoreTripsStatus = tmstruckLeaveFactoryResultMapper.getIsMoreTripsStatus(DataChange.dataToBigDecimal(map.get("orderId")));
|
|
Integer isMoreTripsStatus = tmstruckLeaveFactoryResultMapper.getIsMoreTripsStatus(DataChange.dataToBigDecimal(map.get("orderId")));
|
|
if(isMoreTripsStatus != null && isMoreTripsStatus == 1){
|
|
if(isMoreTripsStatus != null && isMoreTripsStatus == 1){
|
|
@@ -427,13 +435,13 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
|
|
case 17:
|
|
case 17:
|
|
case 18:
|
|
case 18:
|
|
//判断出厂路段顺序号是否为最后一个 采购订单关闭订单
|
|
//判断出厂路段顺序号是否为最后一个 采购订单关闭订单
|
|
- i += utilsService.closeOrderNormally(map);
|
|
|
|
|
|
+// i += utilsService.closeOrderNormally(map);
|
|
break;
|
|
break;
|
|
case 10:
|
|
case 10:
|
|
case 20:
|
|
case 20:
|
|
//生成新的采购内转运输订单
|
|
//生成新的采购内转运输订单
|
|
//判断出厂路段顺序号是否为最后一个 采购订单关闭订单
|
|
//判断出厂路段顺序号是否为最后一个 采购订单关闭订单
|
|
- i += utilsService.closeOrderNormally(map);
|
|
|
|
|
|
+// i += utilsService.closeOrderNormally(map);
|
|
//根据运输订单ID查询路段顺序号
|
|
//根据运输订单ID查询路段顺序号
|
|
Integer orderStatus = tmstruckLeaveFactoryResultMapper.getOrderStatus(orderId);
|
|
Integer orderStatus = tmstruckLeaveFactoryResultMapper.getOrderStatus(orderId);
|
|
if(orderStatus == 2){
|
|
if(orderStatus == 2){
|
|
@@ -452,7 +460,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
|
|
break;
|
|
break;
|
|
case 23:
|
|
case 23:
|
|
case 24:
|
|
case 24:
|
|
- i += utilsService.closeOrderNormally(map);
|
|
|
|
|
|
+// i += utilsService.closeOrderNormally(map);
|
|
omsFeign.addPurInwardOrder(orderId);
|
|
omsFeign.addPurInwardOrder(orderId);
|
|
try {
|
|
try {
|
|
bmsTruckFeign.addInwardDetailsOrder(map);
|
|
bmsTruckFeign.addInwardDetailsOrder(map);
|
|
@@ -465,7 +473,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
|
|
case 19:
|
|
case 19:
|
|
case 14:
|
|
case 14:
|
|
//关闭当前订单
|
|
//关闭当前订单
|
|
- i += utilsService.closeOrderNormally(map);
|
|
|
|
|
|
+// i += utilsService.closeOrderNormally(map);
|
|
//生成新的零星订单
|
|
//生成新的零星订单
|
|
omsFeign.pushMessageToDriver(map);
|
|
omsFeign.pushMessageToDriver(map);
|
|
break;
|
|
break;
|
|
@@ -794,4 +802,26 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 校验是否允许抵达
|
|
|
|
+ * @param orderType
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ Boolean isArrivalType(String orderType){
|
|
|
|
+ try{
|
|
|
|
+ String[] arr = tmstruckLeaveFactoryResultMapper.getVersionValue(10).split(",");
|
|
|
|
+ if(arr==null || arr.length<=0){
|
|
|
|
+ throw new Exception("数据库数据异常,类型字符串不存在!");
|
|
|
|
+ }
|
|
|
|
+ for(String temp:arr){
|
|
|
|
+ if(temp.equals(orderType)){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
}
|
|
}
|