Browse Source

fix: 增加车牌的唯一限制

2.取消配载明细的限制
visual
pref_mail@163.com 4 months ago
parent
commit
43bda73781
  1. 4
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillDetailClient.java
  2. 24
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WaybillOrderTotalWeightAndVolumeVO.java
  3. 14
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java
  4. 8
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java
  5. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  6. 24
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  7. 1
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  8. 1
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  9. 81
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  10. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillOrderServiceImpl.java
  11. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillDetailClient.java
  12. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWayBillDetailMapper.java
  13. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillDetailMapper.xml
  14. 13
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWayBillDetailService.java
  15. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWayBillDetailServiceImpl.java

4
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillDetailClient.java

@ -17,6 +17,7 @@
package com.logpm.warehouse.feign;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import org.springblade.common.constant.ModuleNameConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@ -25,6 +26,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
/**
* 运单表 Feign接口类
@ -76,4 +78,6 @@ public interface IWarehouseWaybillDetailClient {
@GetMapping(API_PREFIX+"/findENtityByCodeAndName")
WarehouseWayBillDetail findENtityByCodeAndName(@RequestParam String orderCode, @RequestParam String category);
@PostMapping(API_PREFIX+"/findWaybillOrderTotalWeightAndVolumeByWaybillNoList")
List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(@RequestBody List<String> waybillNoList);
}

24
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WaybillOrderTotalWeightAndVolumeVO.java

@ -0,0 +1,24 @@
package com.logpm.warehouse.vo;
import lombok.Data;
@Data
public class WaybillOrderTotalWeightAndVolumeVO {
/**
* 运单号
*/
private String waybillNo;
/**
* 总体积
*/
private String sumVolume;
/**
* 总总量
*/
private String sumWeight;
}

14
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java

@ -35,6 +35,7 @@ import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
@ -150,10 +151,15 @@ public class BasicdataVehicleController extends BladeController {
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入basicdataVehicle")
public R save(@Valid @RequestBody BasicdataVehicleDTO basicdataVehicle) {
boolean save = basicdataVehicleService.saveVehicle(basicdataVehicle);
//加入关联表
if (null !=basicdataVehicle.getVehicleOwners() && save){
Integer b = basicdataVehicleService.updateOwners(basicdataVehicle);
boolean save = false;
try {
save = basicdataVehicleService.saveVehicle(basicdataVehicle);
//加入关联表
if (null !=basicdataVehicle.getVehicleOwners() && save){
Integer b = basicdataVehicleService.updateOwners(basicdataVehicle);
}
} catch (CustomerException e) {
throw new CustomerException(e.getMessage());
}
return R.status(save);
}

8
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java

@ -168,8 +168,16 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
if (Func.isNotEmpty(carrierEntity)) {
basicdataVehicle.setCarrierName(carrierEntity.getCarrierName());
}
}
// 验证车牌号码 是否在系统已存在
List<BasicdataVehicleEntity> list = this.list();
// 验证车牌号码是否在系统已存在
if (list.stream().anyMatch(e -> e.getVehicleNub().equals(basicdataVehicle.getVehicleNub()))) {
throw new CustomerException("车牌号已存在,请重新输入");
}
return this.save(basicdataVehicle);
}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -1570,6 +1570,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
@Override
public List<DistributionParcelListEntity> findListByOrderPackageCodes(List<String> orderPackageCodes) {
log.info(">>>>>>>>>>>>>>>> orderPackageCodes :{}",orderPackageCodes);
return baseMapper.findListByOrderPackageCodes(orderPackageCodes);
}

24
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -1,5 +1,6 @@
package com.logpm.factory;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
@ -1114,9 +1115,28 @@ public class TestService {
}
public static void main(String[] args) throws IOException, InterruptedException {
Integer a = new Integer("22222");
List<String> strings = new ArrayList<>();
System.out.println(22222==a);
strings.add("11");
strings.add("11");
strings.add("14");
strings.add("11");
strings.add("11");
strings.add("13");
strings.add("11");
strings.add("11");
for (int a=0 ;a< 1200;a++){
strings.add(a+100+"");
}
List<List<String>> split = CollUtil.split(strings, 500);
split.forEach(s -> {
System.out.println(s);
});
// Date data1 = DateUtil.parse("2024-07-23 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");
// Date data2 = DateUtil.parse("2024-07-24 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");

1
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -846,7 +846,6 @@
from logpm_trunkline_cars_load_scan ltcls
left join logpm_trunkline_cars_order ltco on ltco.waybill_id = ltcls.waybill_id and ltco.order_code = ltcls.order_code
where ltcls.load_id = #{loadId}
and ltco.id is null
GROUP BY IFNULL(ltcls.waybill_no,'--'),
ltcls.order_code
order by IFNULL(ltcls.waybill_no,'--') desc, ltcls.order_code desc

1
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java

@ -705,6 +705,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<List<String>> orderPackageCodeList = CollUtil.split(orderPackageCodes, 500);
List<DistributionParcelListEntity> parcelListEntities = new ArrayList<>();
orderPackageCodeList.forEach(orderPackageCodeList1 -> {
log.info("###############openWaybill: 分组查询订单包裹信息, {}",orderPackageCodeList1);
parcelListEntities.addAll(distributionParcelListClient.findListByOrderPackageCodes(orderPackageCodeList1));
});

81
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -54,6 +54,7 @@ import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringEscapeUtils;
@ -4516,41 +4517,69 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
trunklineCarsLoadVO.setCarsLoadLineList(loadLineList);
List<CarsLoadWaybillInfoVO> carsLoadWaybillInfoList = trunklineCarsOrderService.findWaybillOrderByloadId(loadId);
// 得到集合中的运单号集合
// List<String> waybillNoList = carsLoadWaybillInfoList.stream().map(CarsLoadWaybillInfoVO::getWaybillNo).collect(Collectors.toList());
// 查询运单号的总量、体积
// List<WaybillOrderTotalWeightAndVolumeVO> waybillOrderTotalList = warehouseWaybillDetailClient.findWaybillOrderTotalWeightAndVolumeByWaybillNoList(waybillNoList);
for (CarsLoadWaybillInfoVO carsLoadWaybillInfoVO : carsLoadWaybillInfoList) {
String waybillNo = carsLoadWaybillInfoVO.getWaybillNo();
List<WarehouseWayBillDetail> wayBillDetails = warehouseWaybillDetailClient.findListByWaybillNo(waybillNo);
// 获取运单对应的总体积和总重量
// WaybillOrderTotalWeightAndVolumeVO waybillOrderTotalWeightAndVolumeVO = getWaybillOrderTotalWeighAndVolume(carsLoadWaybillInfoVO, waybillOrderTotalList);
String waybillNo = carsLoadWaybillInfoVO.getWaybillNo();
// 查询 明细上的总量和体积
String openPrice = null;
String productNames = null;
for (WarehouseWayBillDetail wayBillDetail : wayBillDetails) {
String productName = wayBillDetail.getProductName();
Integer num = wayBillDetail.getNum();
BigDecimal price = wayBillDetail.getPrice();
if (StringUtil.isBlank(openPrice)) {
openPrice = price.toPlainString();
} else {
openPrice = openPrice + "," + price.toPlainString();
}
if (StringUtil.isBlank(productNames)) {
productNames = productName + "(" + num + ")";
} else {
productNames = productNames + "," + productName + "(" + num + ")";
BigDecimal oneWeight = BigDecimal.ZERO;
BigDecimal oneVolume = BigDecimal.ZERO;
if(!StringUtil.isBlank(waybillNo)){
List<WarehouseWayBillDetail> wayBillDetails = warehouseWaybillDetailClient.findListByWaybillNo(waybillNo);
for (WarehouseWayBillDetail wayBillDetail : wayBillDetails) {
String productName = wayBillDetail.getProductName();
Integer num = wayBillDetail.getNum();
BigDecimal volume = wayBillDetail.getVolume();
BigDecimal weight = wayBillDetail.getWeight();
BigDecimal price = wayBillDetail.getPrice();
if (StringUtil.isBlank(openPrice)) {
openPrice = price.toPlainString();
} else {
openPrice = openPrice + "," + price.toPlainString();
}
if (StringUtil.isBlank(productNames)) {
productNames = productName + "(" + num + ")";
} else {
productNames = productNames + "," + productName + "(" + num + ")";
}
}
List<CarsLoadOrderInfoVO> carsLoadOrderInfoListPlan = trunklineCarsOrderService.findCarsLoadOrderInfoListPlan(loadId, waybillNo);
carsLoadOrderInfoListPlan.forEach(carsLoadOrderInfoVO -> {
carsLoadOrderInfoVO.setUnloadIncome(carsLoadOrderInfoVO.getUnloadIncome().setScale(2, BigDecimal.ROUND_HALF_UP));
carsLoadOrderInfoVO.setOrderFreight(carsLoadOrderInfoVO.getOrderFreight().setScale(2, BigDecimal.ROUND_HALF_UP));
});
carsLoadWaybillInfoVO.setCarsLoadOrderInfoList(carsLoadOrderInfoListPlan);
}
carsLoadWaybillInfoVO.setOpenPrice(openPrice);
carsLoadWaybillInfoVO.setGoodsName(productNames);
// List<CarsLoadOrderInfoVO> carsLoadOrderInfoList = trunklineCarsOrderService.findCarsLoadOrderInfoList(loadId, waybillNo);
List<CarsLoadOrderInfoVO> carsLoadOrderInfoListPlan = trunklineCarsOrderService.findCarsLoadOrderInfoListPlan(loadId, waybillNo);
if(!StringUtil.isBlank(waybillNo)){
}
carsLoadOrderInfoListPlan.forEach(carsLoadOrderInfoVO -> {
carsLoadOrderInfoVO.setUnloadIncome(carsLoadOrderInfoVO.getUnloadIncome().setScale(2, BigDecimal.ROUND_HALF_UP));
carsLoadOrderInfoVO.setOrderFreight(carsLoadOrderInfoVO.getOrderFreight().setScale(2, BigDecimal.ROUND_HALF_UP));
});
carsLoadWaybillInfoVO.setCarsLoadOrderInfoList(carsLoadOrderInfoListPlan);
// carsLoadWaybillInfoVO.setCarsLoadOrderInfoListPlan(carsLoadOrderInfoListPlan);
TrunklineCostShareRecordEntity costShareRecordEntity = trunklineCostShareRecordService.findTotalUnloadNumByLoadAndWaybillNo(loadId, waybillNo);
@ -4660,6 +4689,16 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.data(trunklineCarsLoadVO);
}
private WaybillOrderTotalWeightAndVolumeVO getWaybillOrderTotalWeighAndVolume(CarsLoadWaybillInfoVO carsLoadWaybillInfoVO, List<WaybillOrderTotalWeightAndVolumeVO> waybillOrderTotalList) {
for (WaybillOrderTotalWeightAndVolumeVO waybillOrderTotalWeightAndVolumeVO : waybillOrderTotalList) {
String waybillNo = waybillOrderTotalWeightAndVolumeVO.getWaybillNo();
if (waybillNo.equals(carsLoadWaybillInfoVO.getWaybillNo())) {
return waybillOrderTotalWeightAndVolumeVO;
}
}
return null;
}
@Override
public R zeroSuppleList(LoadCarsDTO loadCarsDTO) {

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillOrderServiceImpl.java

@ -29,6 +29,10 @@ public class TrunklineWaybillOrderServiceImpl extends BaseServiceImpl<TrunklineW
@Override
public List<TrunklineAdvanceEntity> findListByWaybillId(Long waybillId) {
// 查询运单
return baseMapper.findListByWaybillId(waybillId);
}

10
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillDetailClient.java

@ -5,11 +5,13 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.service.IWarehouseWayBillDetailService;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
@ApiIgnore
@RestController
@ -86,4 +88,12 @@ public class WarehouseWaybillDetailClient implements IWarehouseWaybillDetailClie
}
return null;
}
@Override
public List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(List<String> waybillNoList) {
List<WaybillOrderTotalWeightAndVolumeVO> data=warehouseWayBillDetailService.findWaybillOrderTotalWeightAndVolumeByWaybillNoList(waybillNoList);
return data;
}
}

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWayBillDetailMapper.java

@ -2,14 +2,18 @@ package com.logpm.warehouse.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface WarehouseWayBillDetailMapper extends BaseMapper<WarehouseWayBillDetail> {
List<WarehouseWayBillDetail> findByWaybillIds(List<Long> ids);
void deleteByWaybillNo(@Param("waybillNo") String waybillNo);
List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(@Param("waybillNoList") List<String> waybillNoList);
}

10
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillDetailMapper.xml

@ -16,5 +16,15 @@
</foreach>
and is_deleted = 0
</select>
<select id="findWaybillOrderTotalWeightAndVolumeByWaybillNoList" resultType="com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO">
SELECT waybill_no as waybillNo, IF(SUM(volume) is null,0.00,SUM(volume)) as sumVolume,IF(SUM(weight) is null,0.00,SUM(weight)) as sumWeight
from logpm_warehouse_waybill_detail
where
waybill_no in
<foreach collection="waybillNoList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
GROUP BY waybill_no
</select>
</mapper>

13
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWayBillDetailService.java

@ -1,9 +1,11 @@
package com.logpm.warehouse.service;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
import java.util.Map;
public interface IWarehouseWayBillDetailService extends BaseService<WarehouseWayBillDetail> {
WarehouseWayBillDetail findByProductName(String productName);
@ -23,4 +25,15 @@ public interface IWarehouseWayBillDetailService extends BaseService<WarehouseWay
List<WarehouseWayBillDetail> findByWaybillIds(List<Long> ids);
void deleteByWaybillNo(String waybillNo);
/**
* 通过运单单号集合查询运单的 体积和重量
* map中包含
* <li>waybillNo : 运单号<li/>
* <li>sumVolume : 运单总体积<li/>
* <li>sumWeight : 运单总总量<li/>
* @param waybillNoList
* @return
*/
List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(List<String> waybillNoList);
}

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWayBillDetailServiceImpl.java

@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.mapper.WarehouseWayBillDetailMapper;
import com.logpm.warehouse.service.IWarehouseWayBillDetailService;
import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Slf4j
@AllArgsConstructor
@ -70,4 +72,9 @@ public class WarehouseWayBillDetailServiceImpl extends BaseServiceImpl<Warehouse
public void deleteByWaybillNo(String waybillNo) {
baseMapper.deleteByWaybillNo(waybillNo);
}
@Override
public List<WaybillOrderTotalWeightAndVolumeVO> findWaybillOrderTotalWeightAndVolumeByWaybillNoList(List<String> waybillNoList) {
return baseMapper.findWaybillOrderTotalWeightAndVolumeByWaybillNoList(waybillNoList);
}
}

Loading…
Cancel
Save