hejiahui пре 2 година
родитељ
комит
df4b907185

+ 108 - 49
src/main/java/com/steerinfo/dil/service/impl/AmsContractTransportPriceServiceImpl.java

@@ -82,58 +82,117 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
     @Override
     public int insertTruck(Map<String,Object> mapValue) {
         BigDecimal shipperId = DataChange.dataToBigDecimal(mapValue.get("shipperId"));
-        BigDecimal carrierId = DataChange.dataToBigDecimal(mapValue.get("carrierId"));
-        BigDecimal addressId = DataChange.dataToBigDecimal(mapValue.get("addressId"));
-        BigDecimal lineId = DataChange.dataToBigDecimal(mapValue.get("lineId"));
-        BigDecimal capacityTypeId = DataChange.dataToBigDecimal(mapValue.get("capacityTypeId"));
-        BigDecimal cargonameId = DataChange.dataToBigDecimal(mapValue.get("cargonameId"));
-        BigDecimal priceValue = DataChange.dataToBigDecimal(mapValue.get("priceValue"));
-        Date priceDate = new Date((Long)mapValue.get("priceDate"));
-        BigDecimal type = DataChange.dataToBigDecimal(mapValue.get("type"));
-        BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
-        BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
-        BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
-        AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
-        String place = (String) mapValue.get("place");
-        if (place != null && place.length() != 0) {
-            BigDecimal placeId = rmsReceivePlaceMapper.getPlaceId(mapValue);
-            if (placeId != null) {
-                amsContractTransportPrice.setPlaceId(placeId);
+//        BigDecimal carrierId = DataChange.dataToBigDecimal(mapValue.get("carrierId"));
+        String carrierId = mapValue.get("carrierId").toString().replace("[","").replace("]","").replace(" ","");
+        String[] split = carrierId.split(",");
+        if (split.length>1) {
+            for (int i = 0; i < split.length; i++) {
+                BigDecimal addressId = DataChange.dataToBigDecimal(mapValue.get("addressId"));
+                BigDecimal lineId = DataChange.dataToBigDecimal(mapValue.get("lineId"));
+                BigDecimal capacityTypeId = DataChange.dataToBigDecimal(mapValue.get("capacityTypeId"));
+                BigDecimal cargonameId = DataChange.dataToBigDecimal(mapValue.get("cargonameId"));
+                BigDecimal priceValue = DataChange.dataToBigDecimal(mapValue.get("priceValue"));
+                Date priceDate = new Date((Long)mapValue.get("priceDate"));
+                BigDecimal type = DataChange.dataToBigDecimal(mapValue.get("type"));
+                BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
+                BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
+                BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+                AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+                String place = (String) mapValue.get("place");
+                if (place != null && place.length() != 0) {
+                    BigDecimal placeId = rmsReceivePlaceMapper.getPlaceId(mapValue);
+                    if (placeId != null) {
+                        amsContractTransportPrice.setPlaceId(placeId);
+                    }
+                    else {
+                        RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
+                        rmsReceivePlace.setAddressId(addressId);
+                        rmsReceivePlace.setAddressDeliveryAddress(place);
+                        rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+                        amsContractTransportPrice.setPlaceId(rmsReceivePlace.getPlaceId());
+                        rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+                    }
+                }
+                amsContractTransportPrice.setType(type);
+                amsContractTransportPrice.setOilpriceBase(oilpriceBase);
+                amsContractTransportPrice.setShipperId(shipperId);
+                amsContractTransportPrice.setOilpriceChangeThreshold(oilpriceChangeThreshold);
+                amsContractTransportPrice.setOilTypeId(oilTypeId);
+                amsContractTransportPrice.setPriceValue(priceValue);
+                amsContractTransportPrice.setPriceDate(priceDate);
+                amsContractTransportPrice.setCapacityTypeId(capacityTypeId);
+                amsContractTransportPrice.setCargonameId(cargonameId);
+                amsContractTransportPrice.setCarrierId(DataChange.dataToBigDecimal(split[i]));
+                //生成主键id
+                amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
+                if(lineId == null){
+                    //计算并插入吨公里
+                    BigDecimal priceTonKilometer = amsContractTruckPriceService.calculationPriceTonKilometer(lineId, priceValue);
+                    amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+                }
+                amsContractTransportPrice.setType(new BigDecimal(1));
+                amsContractTransportPrice.setInsertUsername("admin");
+                amsContractTransportPrice.setInsertTime(new Date());
+                amsContractTransportPrice.setUpdateUsername("admin");
+                amsContractTransportPrice.setUpdateTime(new Date());
+                amsContractTransportPrice.setInsertUpdateRemark("无");
+                amsContractTransportPrice.setDeleted(new BigDecimal(0));
+                amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
             }
-            else {
-                RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
-                rmsReceivePlace.setAddressId(addressId);
-                rmsReceivePlace.setAddressDeliveryAddress(place);
-                rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
-                amsContractTransportPrice.setPlaceId(rmsReceivePlace.getPlaceId());
-                rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+            return 1;
+        }else{
+            BigDecimal addressId = DataChange.dataToBigDecimal(mapValue.get("addressId"));
+            BigDecimal lineId = DataChange.dataToBigDecimal(mapValue.get("lineId"));
+            BigDecimal capacityTypeId = DataChange.dataToBigDecimal(mapValue.get("capacityTypeId"));
+            BigDecimal cargonameId = DataChange.dataToBigDecimal(mapValue.get("cargonameId"));
+            BigDecimal priceValue = DataChange.dataToBigDecimal(mapValue.get("priceValue"));
+            Date priceDate = new Date((Long)mapValue.get("priceDate"));
+            BigDecimal type = DataChange.dataToBigDecimal(mapValue.get("type"));
+            BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
+            BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
+            BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+            AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+            String place = (String) mapValue.get("place");
+            if (place != null && place.length() != 0) {
+                BigDecimal placeId = rmsReceivePlaceMapper.getPlaceId(mapValue);
+                if (placeId != null) {
+                    amsContractTransportPrice.setPlaceId(placeId);
+                }
+                else {
+                    RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
+                    rmsReceivePlace.setAddressId(addressId);
+                    rmsReceivePlace.setAddressDeliveryAddress(place);
+                    rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+                    amsContractTransportPrice.setPlaceId(rmsReceivePlace.getPlaceId());
+                    rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+                }
             }
+            amsContractTransportPrice.setType(type);
+            amsContractTransportPrice.setOilpriceBase(oilpriceBase);
+            amsContractTransportPrice.setShipperId(shipperId);
+            amsContractTransportPrice.setOilpriceChangeThreshold(oilpriceChangeThreshold);
+            amsContractTransportPrice.setOilTypeId(oilTypeId);
+            amsContractTransportPrice.setPriceValue(priceValue);
+            amsContractTransportPrice.setPriceDate(priceDate);
+            amsContractTransportPrice.setCapacityTypeId(capacityTypeId);
+            amsContractTransportPrice.setCargonameId(cargonameId);
+            amsContractTransportPrice.setCarrierId(DataChange.dataToBigDecimal(split[0]));
+            //生成主键id
+            amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
+            if(lineId == null){
+                //计算并插入吨公里
+                BigDecimal priceTonKilometer = amsContractTruckPriceService.calculationPriceTonKilometer(lineId, priceValue);
+                amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+            }
+            amsContractTransportPrice.setType(new BigDecimal(1));
+            amsContractTransportPrice.setInsertUsername("admin");
+            amsContractTransportPrice.setInsertTime(new Date());
+            amsContractTransportPrice.setUpdateUsername("admin");
+            amsContractTransportPrice.setUpdateTime(new Date());
+            amsContractTransportPrice.setInsertUpdateRemark("无");
+            amsContractTransportPrice.setDeleted(new BigDecimal(0));
+            return amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
         }
-        amsContractTransportPrice.setType(type);
-        amsContractTransportPrice.setOilpriceBase(oilpriceBase);
-        amsContractTransportPrice.setShipperId(shipperId);
-        amsContractTransportPrice.setOilpriceChangeThreshold(oilpriceChangeThreshold);
-        amsContractTransportPrice.setOilTypeId(oilTypeId);
-        amsContractTransportPrice.setPriceValue(priceValue);
-        amsContractTransportPrice.setPriceDate(priceDate);
-        amsContractTransportPrice.setCapacityTypeId(capacityTypeId);
-        amsContractTransportPrice.setCargonameId(cargonameId);
-        amsContractTransportPrice.setCarrierId(carrierId);
-        //生成主键id
-        amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
-        if(lineId == null){
-            //计算并插入吨公里
-            BigDecimal priceTonKilometer = amsContractTruckPriceService.calculationPriceTonKilometer(lineId, priceValue);
-            amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
-        }
-        amsContractTransportPrice.setType(new BigDecimal(1));
-        amsContractTransportPrice.setInsertUsername("admin");
-        amsContractTransportPrice.setInsertTime(new Date());
-        amsContractTransportPrice.setUpdateUsername("admin");
-        amsContractTransportPrice.setUpdateTime(new Date());
-        amsContractTransportPrice.setInsertUpdateRemark("无");
-        amsContractTransportPrice.setDeleted(new BigDecimal(0));
-        return amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
     }
 
     /**