|
@@ -578,14 +578,13 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
}
|
|
|
if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否")) {
|
|
|
// 自动匹配承运商
|
|
|
- List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
|
|
|
+ List<Map<String, Object>> carrierList = getCarrierByAddress(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);
|
|
|
}
|
|
@@ -641,8 +640,16 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
|
|
|
// 物资件数
|
|
|
BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
|
|
|
+ // 物资名称
|
|
|
+ Object materialName = map.get("materialName");
|
|
|
// 钢材米数
|
|
|
BigDecimal steelMeters = DataChange.dataToBigDecimal(map.get("steelMeters"));
|
|
|
+ // 判断物资是否是盘螺或盘元/盘圆
|
|
|
+ if (materialName != null && (!materialName.toString().contains("盘螺") || !materialName.toString().contains("盘元") || !materialName.toString().contains("盘圆"))) {
|
|
|
+ if (steelMeters != null && !steelMeters.toString().equals("0")) {
|
|
|
+ amsSaleMaterial.setSteelMeter(steelMeters);
|
|
|
+ }
|
|
|
+ }
|
|
|
// 是否磅重销售(0:磅重;1:理重)
|
|
|
BigDecimal isPoundSale = DataChange.dataToBigDecimal(map.get("isPoundSale"));
|
|
|
// 销售订单物资表主键
|
|
@@ -653,9 +660,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
amsSaleMaterial.setMaterialNumber(materialNumber);
|
|
|
amsSaleMaterial.setInsertTime(new Date());
|
|
|
amsSaleMaterial.setUpdateTime(new Date());
|
|
|
- if (steelMeters != null && !steelMeters.toString().equals("0")) {
|
|
|
- amsSaleMaterial.setSteelMeter(steelMeters);
|
|
|
- }
|
|
|
amsSaleMaterial.setIsPoundSale(isPoundSale);
|
|
|
amsSaleMaterial.setInsertUpdateRemark("物流新增");
|
|
|
result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
|
|
@@ -857,6 +861,17 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
return mapList;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据省市县匹配承运商
|
|
|
+ * @param placeId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public synchronized List<Map<String,Object>> getCarrierByAddress(BigDecimal placeId) {
|
|
|
+ BigDecimal addressId = amsSaleOrderMapper.getAddressByPlace(placeId);
|
|
|
+ List<Map<String,Object>> mapList = amsSaleOrderMapper.getCarrierByAddress(addressId);
|
|
|
+ return mapList;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据详细地址和承运商匹配单价
|
|
|
* @param mapValue
|