Browse Source

滞留列表保存

training
kilo 1 year ago
parent
commit
84a2ccc9a3
  1. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  2. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  3. 11
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java
  4. 15
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseRetentionRecordDTO.java
  5. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionRecordService.java
  6. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionScanService.java
  7. 85
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java
  8. 34
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml

@ -1634,7 +1634,7 @@
LEFT JOIN logpm_distribution_reservation_package AS ldrp ON ldrp.stock_article_id = ldrs.stock_article_id and ldrp.reservation_id = ldr.id
LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldpl.id = ldrp.parce_list_id and ldpl.stock_article_id = ldsa.id
WHERE
lddl.id=#{deliveryId} AND ldrp.packet_bar_status in ('1','3') AND ldrs.is_zero = 0 AND ldpl.order_package_code = #{barCode}
lddl.id=#{deliveryId} AND ldrp.packet_bar_status in ('1','3') AND ldrs.is_zero = 0 AND ldpl.order_package_code = #{orderPackageCode}
</select>
<select id="selectRetentionZeroPackage" resultType="com.logpm.distribution.vo.DistributionRetentionScanVo">
@ -1647,7 +1647,8 @@
ldsa.order_code AS orderCode,
ldrs.reservation_num AS maxRetention,
ldrzp.parcel_list_id AS orderPackageId,
ldpl.firsts AS materialName
ldpl.firsts AS materialName,
2 AS conditions
FROM
logpm_distribution_delivery_list AS lddl
LEFT JOIN logpm_distribution_signfor AS lds ON lds.delivery_id = lddl.id

21
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -5167,7 +5167,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionParcelListEntity> parcelListEntities = baseMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
// List<DisStockListDetailEntity> detailEntities = baseMapper.selectInventoryListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
if (Func.isNotEmpty(parcelListEntities)){
List<DistributionParcelListEntity> packageInfo = parcelListEntities.stream().filter(p -> Func.isNotEmpty(p.getOrderPackageCode()) && p.getOrderPackageCode().equals(distrilbutionloadingscanDTO.getBarcode())).collect(Collectors.toList());
List<DistributionParcelListEntity> packageInfo = parcelListEntities.stream().filter(p -> Func.equals(p.getOrderPackageCode(),distrilbutionloadingscanDTO.getBarcode())).collect(Collectors.toList());
if (packageInfo.size()>1){
log.error("################包条码重复:{}",distrilbutionloadingscanDTO.getBarcode());
return Resp.scanFail("操作失败","操作失败");
@ -5177,19 +5177,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//此时才是满足条件的包件,能够进行滞留
//通过配送任务和包件确定预约信息
DistributionParcelListEntity parcelListEntity = packageInfo.get(0);
DistributionRetentionScanVo retentionPackage = baseMapper.selectRetentionPackage(parcelListEntity.getOrderPackageCode(), distrilbutionloadingscanDTO.getDeliveryId());
// distributionRetentionScanVo.setConditions(1);
// distributionRetentionScanVo.setOrderCode(parcelListEntity.getOrderPackageCode());
// distributionRetentionScanVo.setOrderId(parcelListEntity.getStockArticleId());
// distributionRetentionScanVo.setOrderPackageId(parcelListEntity.getId());
// distributionRetentionScanVo.setOrderPackageCode(parcelListEntity.getOrderPackageCode());
// distributionRetentionScanVo.setReservationCode(reservationEntity.getReservationCode());
// distributionRetentionScanVo.setReservationId(reservationEntity.getId());
// distributionRetentionScanVo.setRetentionQuantity(parcelListEntity.getQuantity());
// retentionScanVos.add(distributionRetentionScanVo);
DistributionRetentionScanVo retentionScanVo = baseMapper.selectRetentionPackage(parcelListEntity.getOrderPackageCode(), distrilbutionloadingscanDTO.getDeliveryId());
retentionScanVos.add(retentionScanVo);
}
//
} else {
List<DisStockListDetailEntity> detailEntities = baseMapper.selectInventoryListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
if (Func.isNotEmpty(detailEntities)){
@ -5198,11 +5188,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
log.error("################库存品条码重复:{}",distrilbutionloadingscanDTO.getBarcode());
return Resp.scanFail("操作失败","操作失败");
}
if (stockListDetailEntities.size() == 1){
// DistributionRetentionScanVo distributionRetentionScanVo = new DistributionRetentionScanVo();
//此时才是满足条件的包件,能够进行滞留
//通过配送任务和包件确定预约信息
DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.get(0);
DistributionRetentionScanVo inventoryPackage = baseMapper.selectRetentionInventoryPackage(disStockListDetailEntity.getStockPackageCode(), distrilbutionloadingscanDTO.getDeliveryId());
retentionScanVos.add(inventoryPackage);
@ -5211,7 +5197,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
log.error("################查询包件和库存品为空:{}",distrilbutionloadingscanDTO.getDeliveryId());
return Resp.scanFail("操作失败","不属于该配送任务!!!");
}
}
List<DistributionRetentionScanVo> distributionRetentionScanVos = baseMapper.selectRetentionZeroPackage(distrilbutionloadingscanDTO.getDeliveryId(),distrilbutionloadingscanDTO.getBarcode());
if (Func.isNotEmpty(distributionRetentionScanVos)){

11
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java

@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.warehouse.dto.RetentionDTO;
import com.logpm.warehouse.dto.WarehouseRetentionRecordDTO;
import com.logpm.warehouse.dto.WarehouseRetentionScanDTO;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.service.IWarehouseRetentionRecordService;
import com.logpm.warehouse.service.IWarehouseRetentionScanService;
import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -17,6 +20,7 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
@Log4j2
@ -28,6 +32,8 @@ public class WarehouseRetentionApiController {
private final IWarehouseRetentionRecordService warehouseRetentionRecordService;
private final IWarehouseRetentionScanService warehouseRetentionScanService;
@ResponseBody
@PostMapping("/retentionPackageList")
@ -72,8 +78,9 @@ public class WarehouseRetentionApiController {
@PostMapping("/saveRetentionList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "保存滞留扫描列表", notes = "传入trayTypeDTO")
public R saveRetentionList(@RequestBody RetentionDTO retentionDTO) {
R r = warehouseRetentionRecordService.saveRetentionList(retentionDTO);
public R saveRetentionList(@RequestBody WarehouseRetentionRecordDTO warehouseRetentionScanDTOS) {
// R r = warehouseRetentionRecordService.saveRetentionList(warehouseRetentionScanDTOS);
R r = warehouseRetentionScanService.saveRetentionList(warehouseRetentionScanDTOS);
return r;
}

15
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseRetentionRecordDTO.java

@ -20,6 +20,8 @@ import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 滞留记录 数据传输对象实体类
*
@ -31,4 +33,17 @@ import lombok.EqualsAndHashCode;
public class WarehouseRetentionRecordDTO extends WarehouseRetentionRecordEntity {
private static final long serialVersionUID = 1L;
private Long deliveryId;
private String remarks;
private String trainNumber;
private Long loadingId;
private List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOS;
}

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

@ -19,6 +19,7 @@ package com.logpm.warehouse.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.dto.RetentionDTO;
import com.logpm.warehouse.dto.WarehouseRetentionScanDTO;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
@ -70,10 +71,4 @@ public interface IWarehouseRetentionRecordService extends BaseService<WarehouseR
*/
WarehouseRetentionRecordVO initRetentionList(Long deliveryId);
/**
* 保存扫描记录
* @param retentionDTO
* @return
*/
R saveRetentionList(RetentionDTO retentionDTO);
}

5
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionScanService.java

@ -17,6 +17,8 @@
package com.logpm.warehouse.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.logpm.warehouse.dto.WarehouseRetentionRecordDTO;
import com.logpm.warehouse.dto.WarehouseRetentionScanDTO;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionScanExcel;
@ -24,6 +26,7 @@ import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.logpm.warehouse.vo.WarehouseRetentionScanVO;
import org.springblade.core.tool.api.R;
import java.util.List;
@ -52,4 +55,6 @@ public interface IWarehouseRetentionScanService extends IService<WarehouseRetent
*/
List<WarehouseRetentionScanExcel> exportWarehouseRetentionRecord(Wrapper<WarehouseRetentionScanEntity> queryWrapper);
R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordEntity);
}

85
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java

@ -33,10 +33,7 @@ import com.logpm.distribution.vo.DistributionDeliveryListVO;
import com.logpm.distribution.vo.DistributionDeliverySelfVO;
import com.logpm.oldproject.feign.IWarehouseClient;
import com.logpm.warehouse.bean.Resp;
import com.logpm.warehouse.dto.RetentionDTO;
import com.logpm.warehouse.dto.RetentionDistributionListDetailDTO;
import com.logpm.warehouse.dto.RetentionParcelListDTO;
import com.logpm.warehouse.dto.RetentionZeroParcelDTO;
import com.logpm.warehouse.dto.*;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
@ -162,84 +159,4 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
return warehouseRetentionRecordVO;
}
@Override
public R saveRetentionList(RetentionDTO retentionDTO) {
DistributionDeliveryListVO deliveryDriverInfo = deliveryListClient.getDeliveryDriverInfo(retentionDTO.getDeliveryId());
if (Func.isEmpty(deliveryDriverInfo)){
//查询配送任务
log.error("##############查询配送任务失败,deliveryId:{}",retentionDTO.getDeliveryId());
}
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(myCurrentWarehouse)) {
throw new CustomerException(403, "仓库信息不能为空");
}
if (Func.isEmpty(deliveryDriverInfo.getDeliverySelfVO())){
log.error("##############查询配送任务司机失败");
}
List<DistributionDeliverySelfVO> deliverySelfVO = deliveryDriverInfo.getDeliverySelfVO();
DistributionDeliverySelfVO distributionDeliverySelfVO = null;
if (deliveryDriverInfo.getKind().equals("1")){
distributionDeliverySelfVO = deliverySelfVO.stream().filter(d -> d.getIsMaster() == 2).collect(Collectors.toList()).get(0);
}else if (deliveryDriverInfo.getKind().equals("2")){
distributionDeliverySelfVO = deliverySelfVO.get(0);
}
WarehouseRetentionRecordEntity warehouseRetentionRecordEntity = new WarehouseRetentionRecordEntity();
warehouseRetentionRecordEntity.setRetentionType(RetentionTypeConstant.peisongzhiliu.getValue());
warehouseRetentionRecordEntity.setRetentionWarehouseId(myCurrentWarehouse.getId());
warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
warehouseRetentionRecordEntity.setRemark(retentionDTO.getRemarks());
warehouseRetentionRecordEntity.setTaskId(retentionDTO.getDeliveryId());
warehouseRetentionRecordEntity.setRetentionCarId(distributionDeliverySelfVO.getId());
warehouseRetentionRecordEntity.setRetentionCarNo(deliveryDriverInfo.getTrainNumber());
warehouseRetentionRecordEntity.setAssembleCarPersonId(distributionDeliverySelfVO.getDeliveryId());
warehouseRetentionRecordEntity.setAssembleCarPersonName(distributionDeliverySelfVO.getDriverName());
//统计数量
AtomicInteger retentionQuantity = new AtomicInteger();
List<RetentionParcelListDTO> parcelListEntityList = retentionDTO.getParcelListEntityList();
if (Func.isNotEmpty(parcelListEntityList)){
parcelListEntityList.forEach(p->{
WarehouseRetentionScanEntity warehouseRetentionScanEntity = new WarehouseRetentionScanEntity();
warehouseRetentionScanEntity.setConditions(1);
warehouseRetentionScanEntity.setDeliveryId(deliveryDriverInfo.getId());
warehouseRetentionScanEntity.setOrderCode(p.getOrderCode());
warehouseRetentionScanEntity.setOrderPackageCode(p.getOrderPackageCode());
warehouseRetentionScanEntity.setOrderId(p.getStockArticleId());
warehouseRetentionScanEntity.setOrderPackageId(p.getId());
warehouseRetentionScanService.save(warehouseRetentionScanEntity);
retentionQuantity.getAndAdd(p.getQuantity());
//缺少一个进行解绑的远程
});
}
List<RetentionZeroParcelDTO> parcelNumberEntityList = retentionDTO.getParcelNumberEntityList();
if (Func.isNotEmpty(parcelNumberEntityList)){
parcelNumberEntityList.forEach(pn->{
WarehouseRetentionScanEntity warehouseRetentionScanEntity = new WarehouseRetentionScanEntity();
warehouseRetentionScanEntity.setConditions(2);
warehouseRetentionScanEntity.setDeliveryId(deliveryDriverInfo.getId());
warehouseRetentionScanEntity.setOrderId(pn.getStockArticleId());
warehouseRetentionScanEntity.setOrderPackageId(pn.getParcelListId());
warehouseRetentionScanService.save(warehouseRetentionScanEntity);
retentionQuantity.getAndAdd(pn.getQuantity());
});
}
List<RetentionDistributionListDetailDTO> detailEntityList = retentionDTO.getDetailEntityList();
if (Func.isNotEmpty(detailEntityList)){
detailEntityList.forEach(d->{
WarehouseRetentionScanEntity warehouseRetentionScanEntity = new WarehouseRetentionScanEntity();
warehouseRetentionScanEntity.setConditions(3);
warehouseRetentionScanEntity.setDeliveryId(deliveryDriverInfo.getId());
warehouseRetentionScanEntity.setInventoryId(d.getStockListId());
warehouseRetentionScanEntity.setMaterialName(d.getMaterialName());
warehouseRetentionScanEntity.setMaterialNumber(d.getMaterialNumber());
warehouseRetentionScanEntity.setOrderPackageCode(d.getStockPackageCode());
warehouseRetentionScanEntity.setOrderPackageId(d.getId());
warehouseRetentionScanService.save(warehouseRetentionScanEntity);
retentionQuantity.getAndAdd(d.getNum());
});
}
this.save(warehouseRetentionRecordEntity);
return Resp.scanSuccess("操作成功","操作成功");
}
}

34
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java

@ -16,6 +16,11 @@
*/
package com.logpm.warehouse.service.impl;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.warehouse.bean.Resp;
import com.logpm.warehouse.dto.WarehouseRetentionRecordDTO;
import com.logpm.warehouse.dto.WarehouseRetentionScanDTO;
import com.logpm.warehouse.entity.WarehouseRetentionRecordEntity;
import com.logpm.warehouse.entity.WarehouseRetentionScanEntity;
import com.logpm.warehouse.excel.WarehouseRetentionScanExcel;
@ -25,6 +30,8 @@ import com.logpm.warehouse.vo.WarehouseRetentionRecordVO;
import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel;
import com.logpm.warehouse.vo.WarehouseRetentionScanVO;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -39,6 +46,9 @@ import java.util.List;
@Service
public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<WarehouseRetentionScanMapper, WarehouseRetentionScanEntity> implements IWarehouseRetentionScanService {
private IBasicdataWarehouseClient warehouseClient;
@Override
public IPage<WarehouseRetentionScanVO> selectWarehouseRetentionRecordPage(IPage<WarehouseRetentionScanVO> page, WarehouseRetentionScanVO warehouseRetentionScanVO) {
return page.setRecords(baseMapper.selectWarehouseRetentionRecordPage(page, warehouseRetentionScanVO));
@ -54,4 +64,28 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<Warehouse
return warehouseRetentionRecordList;
}
@Override
public R saveRetentionList(WarehouseRetentionRecordDTO warehouseRetentionRecordDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
return null;
}
List<WarehouseRetentionScanDTO> warehouseRetentionScanDTOS = warehouseRetentionRecordDTO.getWarehouseRetentionScanDTOS();
if (Func.isEmpty(warehouseRetentionScanDTOS)){
log.error("############用户提交空滞留列表");
return Resp.scanFail("操作失败","无滞留包件信息");
}
//TODO 保存车次数据还需要处理
WarehouseRetentionRecordEntity warehouseRetentionRecordEntity = new WarehouseRetentionRecordEntity();
warehouseRetentionRecordEntity.setTaskId(warehouseRetentionRecordDTO.getDeliveryId());
warehouseRetentionRecordEntity.setRemark(warehouseRetentionRecordDTO.getRemark());
warehouseRetentionRecordEntity.setRetentionCarNo(warehouseRetentionRecordDTO.getTrainNumber());
warehouseRetentionRecordEntity.setRetentionCarId(warehouseRetentionRecordDTO.getLoadingId());
warehouseRetentionRecordEntity.setRetentionWarehouseId(myCurrentWarehouse.getId());
warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
warehouseRetentionScanDTOS.forEach(r->{
this.save(Func.copy(r,WarehouseRetentionScanEntity.class));
});
return Resp.scanSuccess("操作成功","操作成功");
}
}

Loading…
Cancel
Save