|
@@ -589,9 +589,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
if (amsSaleOrderMaterials == null || amsSaleOrderMaterials.size() == 0) {
|
|
|
// 车序号主键
|
|
|
BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
|
|
|
- BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("saleShipperAddressId"));
|
|
|
+ BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shipperAddressId"));
|
|
|
String place = (String) (map.get("place"));
|
|
|
- if (place != null) {
|
|
|
+ if (place != null && !"null".equals(place)) {
|
|
|
List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place);
|
|
|
if (placeIdList == null || placeIdList.size() == 0) {
|
|
|
RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
|
|
@@ -604,17 +604,19 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
amsSaleOrderMaterial.setSaleShippingAddressId((BigDecimal) placeIdList.get(0).get("placeId"));
|
|
|
}
|
|
|
}
|
|
|
- // 自动匹配承运商
|
|
|
- List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
|
|
|
- // 单一承运商才进行匹配
|
|
|
- if (carrierList != null && carrierList.size() == 1) {
|
|
|
- List<Map<String,Object>> list = new ArrayList<>();
|
|
|
- Map<String, Object> map1 = carrierList.get(0);
|
|
|
- // 传入车序号主键和承运商id
|
|
|
- map1.put("saleOrderMaterialId",saleOrderMaterialId);
|
|
|
- map1.put("carrierId",map1.get("value"));
|
|
|
- list.add(map1);
|
|
|
- dispatchToCarrier(list);
|
|
|
+ if (amsSaleOrderMaterial.getSaleShippingAddressId() != null) {
|
|
|
+ // 自动匹配承运商
|
|
|
+ List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
|
|
|
+ // 单一承运商才进行匹配
|
|
|
+ if (carrierList != null && carrierList.size() == 1) {
|
|
|
+ List<Map<String, Object>> list = new ArrayList<>();
|
|
|
+ Map<String, Object> map1 = carrierList.get(0);
|
|
|
+ // 传入车序号主键和承运商id
|
|
|
+ map1.put("saleOrderMaterialId", saleOrderMaterialId);
|
|
|
+ map1.put("carrierId", map1.get("value"));
|
|
|
+ list.add(map1);
|
|
|
+ dispatchToCarrier(list);
|
|
|
+ }
|
|
|
}
|
|
|
// 收货方姓名
|
|
|
String consigneeName = String.valueOf(map.get("saleOrderConsignee"));
|
|
@@ -663,7 +665,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
amsSaleMaterial.setMaterialNumber(materialNumber);
|
|
|
amsSaleMaterial.setInsertTime(new Date());
|
|
|
amsSaleMaterial.setUpdateTime(new Date());
|
|
|
- if (!steelMeters.toString().equals("0")) {
|
|
|
+ if (steelMeters != null && !steelMeters.toString().equals("0")) {
|
|
|
amsSaleMaterial.setSteelMeter(steelMeters);
|
|
|
}
|
|
|
amsSaleMaterial.setIsPoundSale(isPoundSale);
|
|
@@ -697,8 +699,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
List<Map<String,Object>> mapList = amsSaleOrderMapper.getTruckNoAndMaterial(saleOrderId);
|
|
|
for (Map<String,Object> map : mapList) {
|
|
|
BigDecimal placeId = (BigDecimal) map.get("placeId");
|
|
|
- List<Map<String,Object>> carrierAndPriceList = getCarrierByPlace(placeId);
|
|
|
- map.put("carrierAndPriceList",carrierAndPriceList);
|
|
|
+ if (placeId != null) {
|
|
|
+ List<Map<String, Object>> carrierAndPriceList = getCarrierByPlace(placeId);
|
|
|
+ map.put("carrierAndPriceList", carrierAndPriceList);
|
|
|
+ }
|
|
|
}
|
|
|
return mapList;
|
|
|
}
|
|
@@ -720,6 +724,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
|
|
|
// 得到承运商
|
|
|
BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
|
|
|
+ // 查询到车序号的单价
|
|
|
+ BigDecimal priceId = amsSaleOrderMapper.getOrderPrice(map);
|
|
|
// 运输线路id
|
|
|
BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
|
|
|
BigDecimal isSteel = new BigDecimal(1);
|
|
@@ -771,9 +777,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
omstruckOrder.setOrderPlanId(saleOrderMaterialId);
|
|
|
//添加承运商ID 和 运价ID
|
|
|
// Object priceId = map.get("priceId");
|
|
|
- Object priceId = map.get("priceId");
|
|
|
if (priceId != null) {
|
|
|
- omstruckOrder.setPriceId(DataChange.dataToBigDecimal(priceId));
|
|
|
+ omstruckOrder.setPriceId(priceId);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ omstruckOrder.setPriceId(new BigDecimal(0));
|
|
|
}
|
|
|
omstruckOrder.setCarrierId(carrierId);
|
|
|
// 运输订单号
|
|
@@ -970,8 +978,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
List<Map<String,Object>> mapList = amsSaleOrderMapper.getTruckNoMaterialAndCarrier(saleOrderMaterialId);
|
|
|
for (Map<String,Object> map : mapList) {
|
|
|
BigDecimal placeId = (BigDecimal) map.get("placeId");
|
|
|
- List<Map<String,Object>> carrierAndPriceList = getCarrierByPlace(placeId);
|
|
|
- map.put("carrierAndPriceList",carrierAndPriceList);
|
|
|
+ if (placeId != null) {
|
|
|
+ List<Map<String, Object>> carrierAndPriceList = getCarrierByPlace(placeId);
|
|
|
+ map.put("carrierAndPriceList", carrierAndPriceList);
|
|
|
+ }
|
|
|
}
|
|
|
return mapList;
|
|
|
}
|