Browse Source

自提库存品二维码展示

fix-sign
汤建军 4 months ago
parent
commit
25b83e4eb0
  1. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionBillInventoryVO.java
  2. 33
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml
  3. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java
  4. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  5. 42
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

1
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionBillInventoryVO.java

@ -21,6 +21,7 @@ public class DistributionBillInventoryVO {
private String cargoUnit; //单位
private String allocation; //货物名称
private String preparedQuantity; //以扫
private Long stockListId; //以扫
/**
* 备货状态

33
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml

@ -91,12 +91,30 @@
<!-- where lddd.is_deleted = 0 and lddd.bill_lading_id = #{billLadingId} and lds.coding = #{coding}-->
</select>
<select id="getBillOrderInventory" resultType="com.logpm.distribution.vo.DistributionBillInventoryVO">
select DISTINCT ldsl.sku, ldsl.description_goods descriptionGoods, lddd.quantity, ldsl.cargo_number cargoNumber, ldsl.cargo_unit cargoUnit,
ldsl.tray_name trayName, lds.allocation_title allocation,
SELECT DISTINCT
ldsl.sku,
lddd.stock_list_id,
ldsl.description_goods descriptionGoods,
lddd.quantity,
ldsl.cargo_number cargoNumber,
ldsl.cargo_unit cargoUnit,
ldsl.tray_name trayName,
lds.allocation_title allocation,
lddd.reality_quantity preparedQuantity,
lddd.stock_status,
(SELECT count(id) FROM logpm_distribution_bill_lading_scan ldbls WHERE ldbls.bill_lading_id = lddd.bill_lading_id AND ldbls.stock_list_id = lddd.stock_list_id and ldbls.material_type = 1 and ldbls.scan_type=1 ) AS pickUpQuantity,
(
SELECT
count( id )
FROM
logpm_distribution_bill_lading_scan ldbls
WHERE
ldbls.bill_lading_id = lddd.bill_lading_id
AND ldbls.stock_list_id = lddd.stock_list_id
AND ldbls.material_type = 1
AND ldbls.scan_type = 1
) AS pickUpQuantity,
CASE
WHEN ( SELECT count( id ) FROM logpm_distribution_bill_lading_scan ldbls WHERE ldbls.stock_list_id = lddd.stock_list_id AND ldbls.material_type = 1 ) = 0 THEN
'待提货'
WHEN lddd.quantity - ( SELECT count( id ) FROM logpm_distribution_bill_lading_scan ldbls WHERE ldbls.stock_list_id = lddd.stock_list_id AND ldbls.material_type = 1 ) > 0 THEN
@ -105,6 +123,7 @@
'已提货'
END AS pickupStatusName,
CASE
WHEN ( SELECT count( id ) FROM logpm_distribution_bill_lading_scan ldbls WHERE ldbls.stock_list_id = lddd.stock_list_id AND ldbls.material_type = 1 ) = 0 THEN
10
WHEN lddd.quantity - ( SELECT count( id ) FROM logpm_distribution_bill_lading_scan ldbls WHERE ldbls.stock_list_id = lddd.stock_list_id AND ldbls.material_type = 1 ) > 0 THEN
@ -112,9 +131,11 @@
WHEN lddd.quantity - ( SELECT count( id ) FROM logpm_distribution_bill_lading_scan ldbls WHERE ldbls.stock_list_id = lddd.stock_list_id AND ldbls.material_type = 1 ) = 0 THEN
30
END AS pickup_status
from logpm_distribution_delivery_details lddd
LEFT JOIN logpm_distribution_stock_list ldsl on lddd.stock_list_id = ldsl.id
LEFT JOIN logpm_distribution_stock lds on lds.bill_lading_id = lddd.bill_lading_id and lddd.stock_list_id = lds.stock_list_id
FROM
logpm_distribution_delivery_details lddd
LEFT JOIN logpm_distribution_stock_list ldsl ON lddd.stock_list_id = ldsl.id
LEFT JOIN logpm_distribution_stock lds ON lds.bill_lading_id = lddd.bill_lading_id
AND lddd.stock_list_id = lds.stock_list_id
<where>
lddd.bill_lading_id = #{param.billLadingId} and lddd.inventory_status in (1,3)
</where>

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java

@ -22,10 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.dto.app.BillLadingAppDTO;
import com.logpm.distribution.entity.DistributionDeliveryDetailsEntity;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionReservationStocklistEntity;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.excel.DistrilbutionBillLadingExcel;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingDetailVO;
@ -215,6 +212,9 @@ public interface DistrilbutionBillLadingMapper extends BaseMapper<DistrilbutionB
List<DistributionDeliveryDetailsEntity> selectInventoryListByIdAndMateriel(@Param("billId") Long billId, @Param("cargoNumber") String cargoNumber);
List<DisStockListDetailEntity> selectInventoryListByBill(@Param("billId")Long billId);
// Page<DistrilbutionBillLadingAppVO> getInventoryPage(IPage<Object> page, DistrilbutionBillLadingEntity distrilbutionBillLadingEntity);
}

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml

@ -1113,6 +1113,9 @@
WHERE
lddd.bill_lading_id = #{billId} AND ldsl.cargo_number = #{cargoNumber} AND lddd.inventory_status != 2
</select>
<select id="selectInventoryListByBill" resultType="com.logpm.distribution.entity.DisStockListDetailEntity">
SELECT * FROM logpm_dis_stock_list_detail WHERE reservation_id = #{billId} AND stock_package_status != 2
</select>
</mapper>

42
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

@ -35,15 +35,11 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionStockListDTO;
import com.logpm.distribution.entity.DisStockListDetailEntity;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.distribution.entity.DistributionStockListInfoEntity;
import com.logpm.distribution.entity.DistributionUnpackingDetailsEntity;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.excel.DistributionStockListExcel;
import com.logpm.distribution.mapper.DistributionReservationMapper;
import com.logpm.distribution.mapper.DistributionStockListMapper;
import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper;
import com.logpm.distribution.service.IDisStockListDetailService;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.service.IDistributionStockArticleService;
@ -65,6 +61,7 @@ import com.logpm.warehouse.feign.IWarehouseGoodsAllocationClient;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.WorkNodeEnums;
import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant;
@ -134,6 +131,8 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
@Autowired
private DistributionReservationMapper distributionReservationMapper;
@Autowired
private DistrilbutionBillLadingMapper distrilbutionBillLadingMapper;
@Autowired
@Lazy
private IDistributionParcelListService distributionParcelListService;
@Autowired
@ -930,7 +929,10 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
//查询该客户的所有库存品包件
List<DisStockListDetailEntity> disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(reservationId);
if (Func.isEmpty(disStockListDetailEntities)) {
throw new ServiceException("此预约不存在库存品信息");
disStockListDetailEntities = distrilbutionBillLadingMapper.selectInventoryListByBill(reservationId);
if (disStockListDetailEntities.isEmpty()) {
throw new ServiceException("此任务不存在库存品信息");
}
}
//对指定批次的库存品进行查询是否存在备货包件
List<DisStockListDetailEntity> stockUpStockListPack = disStockListDetailEntities.stream().filter(f -> f.getStockListId().equals(stockListId) && f.getReservationId().equals(reservationId) && Func.isNotEmpty(f.getStockPackageCode())).collect(Collectors.toList());
@ -945,18 +947,32 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
log.info("##############查询ID:{}", stockListId);
throw new ServiceException("查询库存品信息失败");
}
String consignee ="";
String phone ="";
String address ="";
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(reservationId);
if (Func.isEmpty(distributionReservationEntity)) {
log.info("##############查询ID:{}", distributionReservationEntity);
throw new ServiceException("查询库存品信息失败");
//查询自提信息
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = distrilbutionBillLadingMapper.selectById(reservationId);
if (Objects.isNull(distrilbutionBillLadingEntity)){
log.info("##############查询ID:{}", distributionReservationEntity);
throw new ServiceException("查询计划信息失败");
}else {
consignee = distrilbutionBillLadingEntity.getConsignee();
phone = distrilbutionBillLadingEntity.getConsigneePhone();
}
}else {
consignee = distributionReservationEntity.getConsignee();
phone = distributionReservationEntity.getDeliveryPhone();
address = distributionReservationEntity.getDeliveryAddress();
}
for (DisStockListDetailEntity disStockListDetailEntity : stockUpStockListPack) {
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(stockListEntity), Map.class);
map.put("id", disStockListDetailEntity.getId());
map.put("customerName", distributionReservationEntity.getConsignee());
map.put("customerTelephone", distributionReservationEntity.getDeliveryPhone());
map.put("customerAddress", distributionReservationEntity.getDeliveryAddress());
map.put("customerName", consignee);
map.put("customerTelephone", phone);
map.put("customerAddress", address);
map.put("shipperName", " ");
map.put("shipperAddress", " ");
map.put("stockPackageCode", disStockListDetailEntity.getStockPackageCode());

Loading…
Cancel
Save