Browse Source

库存品装车状态维护

training
kilo 2 years ago
parent
commit
0eb2fb1457
  1. 2
      blade-biz-common/src/main/java/org/springblade/common/constant/Inventory/InventoryLoadingStatusConstant.java
  2. 47
      blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventoryLoadingStatusConstant.java
  3. 47
      blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventorySigningStatusConstant.java
  4. 8
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscaninvnEntity.java
  5. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStockarticleEntity.java
  6. 15
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java
  7. 6
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java
  8. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml
  9. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  10. 22
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  11. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java
  12. 121
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  13. 159
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  14. 14
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  15. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

2
blade-biz-common/src/main/java/org/springblade/common/constant/Inventory/InventoryLoadingStatusConstant.java

@ -8,7 +8,7 @@ package org.springblade.common.constant.Inventory;
*/
public enum InventoryLoadingStatusConstant {
weizhuancghe("未装车", "10"),
weizhuangche("未装车", "10"),
yizhuangche("已装车", "20");
/**

47
blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventoryLoadingStatusConstant.java

@ -0,0 +1,47 @@
package org.springblade.common.constant.reservation;
/**
* 预约单状态枚举
* 对应码表
* resvervation_status
* @author pref
*/
public enum ReservationInventoryLoadingStatusConstant {
weizhuangche("未装车","10"),
bufenzhuangche("部分装车","20"),
yizhuangche("已装车","30");
/**
* 状态
*/
private String name;
/**
*
*/
private String value;
private ReservationInventoryLoadingStatusConstant(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

47
blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventorySigningStatusConstant.java

@ -0,0 +1,47 @@
package org.springblade.common.constant.reservation;
/**
* 预约单状态枚举
* 对应码表
* resvervation_status
* @author pref
*/
public enum ReservationInventorySigningStatusConstant {
weiqianshou("未签收","10"),
bufenqianshou("部分签收","20"),
yiqianshou("已签收","30");
/**
* 状态
*/
private String name;
/**
*
*/
private String value;
private ReservationInventorySigningStatusConstant(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

8
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscaninvnEntity.java

@ -147,7 +147,13 @@ public class DistributionLoadscaninvnEntity extends TenantEntity {
* 扫描状态;1=未装车2=扫描,3=确认
*/
@ApiModelProperty(value = "扫描状态;(1=未装车,2=扫描,3=确认,4-补录)")
private Integer scanStatus;
private String scanStatus;
/**
* 扫描操作人
*/
@ApiModelProperty(value = "扫描操作人")
private String scanUser;
/**
* 确认时间

1
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStockarticleEntity.java

@ -64,6 +64,7 @@ public class DistributionReservationStockarticleEntity extends TenantEntity {
private String stockArticleStatus;
/**
* 有无数据源1-2-
*/

15
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java

@ -74,6 +74,21 @@ public class DistributionReservationStocklistEntity extends TenantEntity {
*/
@ApiModelProperty(value = "库存品状态 ;1-正常、2-取消")
private String stockListStatus;
/**
* 装车装填
*/
@ApiModelProperty(value = "订单码")
private String loadingStatus;
/**
* 签收状态
*/
@ApiModelProperty(value = "订单码")
private String signingStatus;
/**
* 预留1
*/

6
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java

@ -141,6 +141,12 @@ public class DistributionDeliveryInfoVO extends DistributionDeliveryInfoEntity {
@ApiModelProperty(value = "车次号")
private String trainNumber;
/**
* 库存品扫描件数
*/
@ApiModelProperty(value = "库存品扫描件数")
private String inventoryNub;

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml

@ -85,6 +85,7 @@
ldr.reservation_num packageNub,
ldr.reservation_stock_list_num reservationStockListNum,
lds.loaded_number loadedNub,
lds.loadedin_number inventoryNub,
lds.reservation_id reservationId,
lds.received_quantity receivedQuantity,
CASE

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

@ -338,4 +338,19 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
* @param deliveryListId
*/
void deleteDeliveryListById(@Param("deliveryListId")String deliveryListId);
/**
* 查询配送计划中的该库存品信息
* @param barcode
* @param deliveryId
* @return
*/
DisStockListDetailEntity getLoadingInventoryDetail(@Param("barcode")String barcode,@Param("deliveryListId") Long deliveryId);
/**
* 查询一个配送任务下的所有库存品包件信息
* @param deliveryId
* @return
*/
List<DisStockListDetailEntity> selectInventoryListByDeliveryListId(@Param("deliveryListId") Long deliveryId);
}

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

@ -1283,5 +1283,27 @@
left join logpm_distribution_parcel_list ldpl on ldpl.order_package_code = lwtg.association_value and ldpl.is_deleted = 0
where lwt.is_deleted = 0 and lwt.pallet_code = #{trayCode}
</select>
<select id="getLoadingInventoryDetail" resultType="com.logpm.distribution.entity.DisStockListDetailEntity">
SELECT
ldsld.*
FROM
logpm_distribution_signfor AS lds
INNER JOIN logpm_distribution_reservation_stocklist AS ldrs ON lds.reservation_id = ldrs.reservation_id
INNER JOIN logpm_dis_stock_list_detail AS ldsld ON ldrs.reservation_id = ldsld.reservation_id
WHERE
lds.delivery_id = #{deliveryListId} and ldsld.stock_package_code = #{barcode} and ldsld.stock_package_status in ('1','3')
</select>
<select id="selectInventoryListByDeliveryListId"
resultType="com.logpm.distribution.entity.DisStockListDetailEntity">
SELECT
ldsld.*
FROM
logpm_distribution_signfor AS lds
INNER JOIN logpm_dis_stock_list_detail AS ldsld ON lds.reservation_id = ldsld.reservation_id
WHERE
lds.delivery_id = #{deliveryListId}
AND ldsld.stock_package_status IN ('1','3')
</select>
</mapper>

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java

@ -70,7 +70,7 @@ public interface IDistributionAsyncService {
* @param deliveryId
* @return
*/
void changeDeliveryListStatus(String barcode,Long deliveryId);
void changeDiscussDeliveryListStatus(String barcode,Long deliveryId);
/**
@ -127,4 +127,11 @@ public interface IDistributionAsyncService {
* @param stockupDTO
*/
void stockupStockSelfUpdateState(StockupDTO stockupDTO);
/**
* 市配装车扫描接口状态变更
* @param barcode
* @param deliveryId
*/
void changeMarketDeliveryListStatus(String barcode, Long deliveryId);
}

121
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

@ -12,6 +12,8 @@ import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.DistrilbutionBillStockVO;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant;
import org.springblade.common.constant.Inventory.InventoryPackageStatusConstant;
import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant;
import org.springblade.common.constant.delivery.DeliveryStatusConstant;
import org.springblade.common.constant.order.OrderReservationStatusConstant;
@ -19,6 +21,8 @@ import org.springblade.common.constant.orderpackage.OrderPackageLoadingStatusCon
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant;
import org.springblade.common.constant.order.OrderStatusConstant;
import org.springblade.common.constant.reservation.ReservationInventoryLoadingStatusConstant;
import org.springblade.common.constant.reservation.ReservationInventoryStatusConstant;
import org.springblade.common.constant.reservation.ReservationLoadingStatusConstant;
import org.springblade.common.constant.reservation.ReservationSigningStatusConstant;
import org.springblade.common.constant.stockup.StockupStatusConstant;
@ -56,6 +60,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
private final DistrilbutionBillStockMapper distrilbutionBillStockMapper;
private final DistributionDeliveryDetailsMapper distributionDeliveryDetailsMapper;
private final DistributionParcelListMapper distributionParcelListMapper;
private final IDisStockListDetailService disStockListDetailService;
@Override
@ -209,10 +214,12 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
distributionStockArticleService.updateById(stockArticleEntity);
}
@Async
@Override
@Transactional(isolation = Isolation.READ_UNCOMMITTED, rollbackFor = Exception.class)
public void changeDeliveryListStatus(String barcode,Long deliveryId) {
public void changeDiscussDeliveryListStatus(String barcode,Long deliveryId) {
//这里需要查询出该包件
DistributionParcelListEntity parcelListEntity = distributionDeliveryListMapper.getLoadingPackageDetails(barcode,deliveryId);
parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
@ -268,6 +275,116 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
distributionReservationMapper.updateById(r);
});
}
@Async
@Override
@Transactional(isolation = Isolation.READ_UNCOMMITTED, rollbackFor = Exception.class)
public void changeMarketDeliveryListStatus(String barcode, Long deliveryId) {
//修改包件状态
//这里需要查询出该包件
DistributionParcelListEntity parcelListEntity = distributionDeliveryListMapper.getLoadingPackageDetails(barcode,deliveryId);
if (Func.isNotEmpty(parcelListEntity)){
parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yichuku.getValue());
//修改包件状态
distributionParcelListService.updateById(parcelListEntity);
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, parcelListEntity.getStockArticleId()));
boolean flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()));
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(parcelListEntity.getStockArticleId());
//维护包件、订单扫描装车状态
if (flag){
stockArticleEntity.setOrderStatus(OrderStatusConstant.chuku.getValue());
}else {
flag = parcelListEntityList.stream().allMatch(p->p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()));
if (flag){
stockArticleEntity.setOrderStatus(OrderStatusConstant.ruku.getValue());
}else {
stockArticleEntity.setOrderStatus(OrderStatusConstant.bufenchuku.getValue());
}
}
distributionStockArticleService.updateById(stockArticleEntity);
}else {
//查询库存品
DisStockListDetailEntity loadingInventoryDetail = distributionDeliveryListMapper.getLoadingInventoryDetail(barcode, deliveryId);
loadingInventoryDetail.setStockLockingStatus(InventoryLoadingStatusConstant.yizhuangche.getValue());
disStockListDetailService.updateById(loadingInventoryDetail);
//查询出这个库存品的所有需要装车的包件维度库存品
List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, loadingInventoryDetail.getReservationId())
.eq(DisStockListDetailEntity::getStockListId, loadingInventoryDetail.getStockListId())
.ne(DisStockListDetailEntity::getStockPackageStatus, InventoryPackageStatusConstant.quxiao.getValue()));
boolean inventoryFlag = list.stream().allMatch(l -> l.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue()));
List<DistributionReservationStocklistEntity> reservationStockarticleEntityList = distributionReservationStocklistMapper.selectList(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, loadingInventoryDetail.getReservationId())
.eq(DistributionReservationStocklistEntity::getStocklistId, loadingInventoryDetail.getStockListId())
.ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationInventoryStatusConstant.quxiao.getValue()));
if (reservationStockarticleEntityList.size()==1){
//修改状态
DistributionReservationStocklistEntity reservationStockarticleEntity = reservationStockarticleEntityList.get(0);
if (inventoryFlag){
//查询出库存品进行全部状态的变更
reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue());
}else {
inventoryFlag = list.stream().allMatch(l -> l.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue()));
if (inventoryFlag){
reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue());
}else {
reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.bufenzhuangche.getValue());
}
}
distributionReservationStocklistMapper.updateById(reservationStockarticleEntity);
}else {
log.error("####库存品记录错误+{"+reservationStockarticleEntityList+"}");
return;
}
}
//查询出这个预约下的包件信息和库存品信息分别进行判断是否都完成装车
List<DistributionReservationEntity> reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(deliveryId);
reservationEntityList.forEach(r->{
//查询预约下的所有包件信息
List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(r.getId());
boolean reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()));
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationStocklistMapper.selectList(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, r.getId())
.ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationInventoryStatusConstant.quxiao.getValue()));
boolean inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue()));
if (reservationLoadingFlag && inventoryLoadingFlag){
r.setLoadingStatus(ReservationLoadingStatusConstant.yizhuangche.getValue());
}else {
reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()));
inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue()));
if (reservationLoadingFlag && inventoryLoadingFlag){
r.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue());
}else {
r.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue());
}
}
distributionReservationMapper.updateById(r);
});
List<DistributionParcelListEntity> deliveryParcelListEntityList = distributionDeliveryListMapper.selectPackageListByDeliveryListId(deliveryId);
List<DisStockListDetailEntity> detailEntities = distributionDeliveryListMapper.selectInventoryListByDeliveryListId(deliveryId);
boolean deliveryLoadingFlag = deliveryParcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()));
boolean deliveryInventoryLoadingFlag = detailEntities.stream().allMatch(i -> i.getStockLockingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue()));
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.<DistributionDeliveryListEntity>query().lambda().eq(DistributionDeliveryListEntity::getId,deliveryId));
if (deliveryLoadingFlag && deliveryInventoryLoadingFlag){
deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.yizhuangche.getValue());
}else {
deliveryLoadingFlag = deliveryParcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()));
deliveryInventoryLoadingFlag = detailEntities.stream().allMatch(i -> i.getStockLockingStatus().equals(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue()));
if (deliveryLoadingFlag && deliveryInventoryLoadingFlag){
deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.weizhuangche.getValue());
}else {
deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.bunfenzhuangche.getValue());
}
}
distributionDeliveryListMapper.updateById(deliveryListEntity);
//修改整体的预约状态
//修改整体的配送计划状态
//
}
@Async
@Override
@ -592,4 +709,6 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
}
}

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

@ -606,7 +606,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
}
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
distributionLoadscanEntity.setScanStatus(2);
distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue());
distributionLoadscanEntity.setScanType("1");
distributionLoadscanEntity.setScanTime(new Date());
distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId());
@ -706,7 +706,16 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// distributionAsyncService.changeOrderStatus(distrilbutionloadingscanDTO.getBarcode(),deliveryId);
//修改配送任务状态
String barcode = distrilbutionloadingscanDTO.getBarcode();
distributionAsyncService.changeDeliveryListStatus(barcode, deliveryId);
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.<DistributionDeliveryListEntity>query().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId));
//判断配送计划是否需要进行库存品状态的变更
if (deliveryListEntity.getType().equals(DistributionTypeConstant.shangpei.getValue())){
distributionAsyncService.changeDiscussDeliveryListStatus(barcode, deliveryId);
}else if (deliveryListEntity.getType().equals(DistributionTypeConstant.shipie.getValue())){
//需要判断是否依据库存品进行变更
distributionAsyncService.changeMarketDeliveryListStatus(barcode, deliveryId);
}
// this.changeDeliveryListStatuss(distrilbutionloadingscanDTO.getBarcode(), deliveryId);
return Resp.scanSuccess("成功", "成功");
@ -891,7 +900,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionLoadscanService.save(distributionLoadscanEntity);
Long packageId = distributionLoadscanEntity.getPackageId();
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(packageId);
distributionAsyncService.changeDeliveryListStatus(parcelListEntity.getOrderPackageCode(),distrilbutionloadingscanDTO.getDeliveryId());
//TODO 这里一件装车需要进行判断
distributionAsyncService.changeDiscussDeliveryListStatus(parcelListEntity.getOrderPackageCode(),distrilbutionloadingscanDTO.getDeliveryId());
}
// distributionLoadscanService.saveBatch(distributionLoadscanEntities);
}
@ -942,7 +952,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
}
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
distributionLoadscanEntity.setScanStatus(2);
distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue());
distributionLoadscanEntity.setScanType("1");
distributionLoadscanEntity.setScanTime(new Date());
if (null == distributionLoadscanEntity.getPackageNub()) {
@ -1126,75 +1136,85 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
public R loadinginventory(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) {
//库存品
//获取当前用户司机
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId());
DistributionDeliverySelfEntity distributionDeliverySelfEntity = null;
if (distributionDeliveryListEntity.getKind().equals("1")) {
distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectById(distrilbutionloadingscanDTO.getLoadingId());
} else {
DistributionDeliveryTripartiteEntity distributionDeliveryTripartiteEntity = distributionDeliveryTripartiteMapper.selectById(distrilbutionloadingscanDTO.getLoadingId());
BeanUtils.copyProperties(distributionDeliveryTripartiteEntity, distributionDeliverySelfEntity);
}
boolean b = false;
//根据传递进来的库存品条码进行库存品的校验
//获取之前的
String barcode = distrilbutionloadingscanDTO.getBarcode();
//查询是否重复扫描
List<DistributionLoadscaninvnEntity> distributionLoadscaninvnEntities = distributionLoadscaninvnMapper.selectList(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
.eq(DistributionLoadscaninvnEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (distributionLoadscaninvnEntities.size()>0 ){
return R.fail("重复扫描");
}
try {
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId());
DistributionDeliverySelfEntity distributionDeliverySelfEntity = null;
if (distributionDeliveryListEntity.getKind().equals("1")) {
distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectById(distrilbutionloadingscanDTO.getLoadingId());
} else {
DistributionDeliveryTripartiteEntity distributionDeliveryTripartiteEntity = distributionDeliveryTripartiteMapper.selectById(distrilbutionloadingscanDTO.getLoadingId());
BeanUtils.copyProperties(distributionDeliveryTripartiteEntity, distributionDeliverySelfEntity);
}
boolean b = false;
//根据传递进来的库存品条码进行库存品的校验
//获取之前的
String barcode = distrilbutionloadingscanDTO.getBarcode();
//查询是否重复扫描
List<DistributionLoadscaninvnEntity> distributionLoadscaninvnEntities = distributionLoadscaninvnMapper.selectList(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
.eq(DistributionLoadscaninvnEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
if (distributionLoadscaninvnEntities.size()>0 ){
return R.fail("重复扫描");
}
//这里就需要将此库存品和计划中的进行校验,如果此时无法从
//查询出该客户下的所有库存品包件信息
List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda().eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()));
if ( list.size() < 0 ){
return R.fail("无效包条!!");
}
//1、不存在这个客户的库存品列表中,串货
List<DisStockListDetailEntity> disStockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
.eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode()));
if (disStockListDetailEntities.size() == 1){
//这里就需要插入库存品扫描信息
ArrayList<DistributionLoadscaninvnEntity> distributionLoadscaninvnEntityArrayList = new ArrayList<>();
for (int i = 0; i < disStockListDetailEntities.size(); i++) {
//依次插入该装车记录,设置车辆
DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = new DistributionLoadscaninvnEntity();
if (null != distributionDeliverySelfEntity.getDriverId()) {
distributionLoadscaninvnEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
}
distributionLoadscaninvnEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
distributionLoadscaninvnEntity.setScanStatus(2);
distributionLoadscaninvnEntity.setScanType("1");
distributionLoadscaninvnEntity.setScanTime(new Date());
distributionLoadscaninvnEntity.setOrderPackageCode(disStockListDetailEntities.get(i).getStockPackageCode());
if (null == distributionLoadscaninvnEntity.getPackageNub()) {
distributionLoadscaninvnEntity.setPackageNub(1);
}
distributionLoadscaninvnEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId());
distributionLoadscaninvnEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub());
if (null != distributionDeliverySelfEntity.getDriverPhone()) {
distributionLoadscaninvnEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone());
}
if (null != distributionDeliverySelfEntity.getVehicleId()) {
distributionLoadscaninvnEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId());
}
//查询本车次是否第一次扫码,没有则更新上车时间
Integer a = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
//更新签收表的装车数量
Integer j = distributionSignforMapper.updateloadByinvn(distributionLoadscaninvnEntity.getDeliveryId(), distributionLoadscaninvnEntity.getReservationId(), distributionLoadscaninvnEntity.getPackageNub());
distributionLoadscaninvnEntityArrayList.add(distributionLoadscaninvnEntity);
//这里就需要将此库存品和计划中的进行校验,如果此时无法从
//查询出该客户下的所有库存品包件信息
List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda().eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()));
if ( list.size() < 0 ){
return R.fail("无效包条!!");
}
//1、不存在这个客户的库存品列表中,串货
List<DisStockListDetailEntity> disStockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
.eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode()));
if (disStockListDetailEntities.size() == 1){
//这里就需要插入库存品扫描信息
ArrayList<DistributionLoadscaninvnEntity> distributionLoadscaninvnEntityArrayList = new ArrayList<>();
for (int i = 0; i < disStockListDetailEntities.size(); i++) {
//依次插入该装车记录,设置车辆
DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = new DistributionLoadscaninvnEntity();
if (null != distributionDeliverySelfEntity.getDriverId()) {
distributionLoadscaninvnEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
}
distributionLoadscaninvnEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
distributionLoadscaninvnEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue());
distributionLoadscaninvnEntity.setScanType("1");
BladeUser user = AuthUtil.getUser();
distributionLoadscaninvnEntity.setScanUser(user.getNickName());
distributionLoadscaninvnEntity.setScanTime(new Date());
distributionLoadscaninvnEntity.setOrderPackageCode(disStockListDetailEntities.get(i).getStockPackageCode());
if (null == distributionLoadscaninvnEntity.getPackageNub()) {
distributionLoadscaninvnEntity.setPackageNub(1);
}
distributionLoadscaninvnEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId());
distributionLoadscaninvnEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub());
if (null != distributionDeliverySelfEntity.getDriverPhone()) {
distributionLoadscaninvnEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone());
}
if (null != distributionDeliverySelfEntity.getVehicleId()) {
distributionLoadscaninvnEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId());
}
//查询本车次是否第一次扫码,没有则更新上车时间
Integer a = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
//更新签收表的装车数量
Integer j = distributionSignforMapper.updateloadByinvn(distrilbutionloadingscanDTO.getDeliveryId(), distrilbutionloadingscanDTO.getReservationId(), distributionLoadscaninvnEntity.getPackageNub());
distributionLoadscaninvnEntityArrayList.add(distributionLoadscaninvnEntity);
}
b = distributionLoadscaninvnService.saveBatch(distributionLoadscaninvnEntityArrayList);
}else {
return R.fail("重复包条码!!");
}else {
return R.fail("重复包条码!!");
}
//2、不存在这个车次中无效包条码
//3、重复扫码
distributionAsyncService.changeMarketDeliveryListStatus(distrilbutionloadingscanDTO.getBarcode(),distrilbutionloadingscanDTO.getDeliveryId());
return R.status(b);
}catch (Exception e){
e.printStackTrace();
}
//2、不存在这个车次中无效包条码
//3、重复扫码
return null;
@ -1253,7 +1273,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// //TODO 库存品手动输入
//
// }
return R.status(b);
}
@ -2315,7 +2334,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
}
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
distributionLoadscanEntity.setScanStatus(2);
distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue());
distributionLoadscanEntity.setScanType("1");
distributionLoadscanEntity.setScanTime(new Date());
if (null == distributionLoadscanEntity.getPackageNub()) {

14
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -415,6 +415,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationStocklistEntity.setReservationNum(i.getReservationNum());
distributionReservationStocklistEntity.setRealityNum(0);
distributionReservationStocklistEntity.setStockListStatus("1");
distributionReservationStocklistEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue());
distributionReservationStocklistEntity.setSigningStatus(ReservationInventorySigningStatusConstant.weiqianshou.getValue());
distributionReservationStocklistService.save(distributionReservationStocklistEntity);
stockListCount.getAndAdd(distributionReservationStocklistEntity.getReservationNum());
List<DisStockListDetailEntity> detailEntities = new ArrayList<>();
@ -424,7 +426,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
disStockListDetailEntity.setNum(1);
disStockListDetailEntity.setSku(i.getSku());
disStockListDetailEntity.setStockListId(i.getId());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuancghe.getValue());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuangche.getValue());
disStockListDetailEntity.setStockSignfoStatus(InventorySigningStatusConstant.weiqianshou.getValue());
disStockListDetailEntity.setStockStatus(InventoryBindingStatusConstant.weibangding.getValue());
disStockListDetailEntity.setStockType(InventoryTypeConstant.saoma.getValue());
@ -1095,6 +1097,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
reservationStocklistEntity.setUnit(distributionStockListDTO.getCargoUnit());
// reservationStocklistEntity.setIsUnpackProduct(distributionStockListDTO.getUnpack());
reservationStocklistEntity.setStockListStatus(ReservationInventoryStatusConstant.zengjia.getValue());
reservationStocklistEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue());
reservationStocklistEntity.setSigningStatus(ReservationInventorySigningStatusConstant.weiqianshou.getValue());
reservationStocklistEntity.setRealityNum(0);
distributionReservationStocklistService.save(reservationStocklistEntity);
//TODO 这里新增还需要对库存品的数量进行修改
@ -1110,7 +1114,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
disStockListDetailEntity.setNum(1);
disStockListDetailEntity.setSku(distributionStockListDTO.getSku());
disStockListDetailEntity.setStockListId(distributionStockListDTO.getId());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuancghe.getValue());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuangche.getValue());
disStockListDetailEntity.setStockSignfoStatus(InventorySigningStatusConstant.weiqianshou.getValue());
disStockListDetailEntity.setStockStatus(InventoryBindingStatusConstant.weibangding.getValue());
disStockListDetailEntity.setStockType(InventoryTypeConstant.saoma.getValue());
@ -1152,7 +1156,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
disStockListDetailEntity.setNum(1);
disStockListDetailEntity.setSku(distributionStockListDTO.getSku());
disStockListDetailEntity.setStockListId(distributionStockListDTO.getId());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuancghe.getValue());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuangche.getValue());
disStockListDetailEntity.setStockSignfoStatus(InventorySigningStatusConstant.weiqianshou.getValue());
disStockListDetailEntity.setStockStatus(InventoryBindingStatusConstant.weibangding.getValue());
disStockListDetailEntity.setStockType(InventoryTypeConstant.saoma.getValue());
@ -2001,6 +2005,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationStocklistEntity.setReservationNum(i.getReservationNum());
distributionReservationStocklistEntity.setRealityNum(0);
distributionReservationStocklistEntity.setStockListStatus("1");
distributionReservationStocklistEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue());
distributionReservationStocklistEntity.setSigningStatus(ReservationInventorySigningStatusConstant.weiqianshou.getValue());
distributionReservationStocklistService.save(distributionReservationStocklistEntity);
stockListCount.getAndAdd(distributionReservationStocklistEntity.getReservationNum());
List<DisStockListDetailEntity> detailEntities = new ArrayList<>();
@ -2010,7 +2016,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
disStockListDetailEntity.setNum(1);
disStockListDetailEntity.setSku(i.getSku());
disStockListDetailEntity.setStockListId(i.getId());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuancghe.getValue());
disStockListDetailEntity.setStockLockingStatus(InventoryLoadingStatusConstant.weizhuangche.getValue());
disStockListDetailEntity.setStockSignfoStatus(InventorySigningStatusConstant.weiqianshou.getValue());
disStockListDetailEntity.setStockStatus(InventoryBindingStatusConstant.weibangding.getValue());
disStockListDetailEntity.setStockType(InventoryTypeConstant.saoma.getValue());

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -336,7 +336,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
}
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
distributionLoadscanEntity.setScanStatus(4);
distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.yijianzhuangche.getValue());
distributionLoadscanEntity.setScanType("1");
distributionLoadscanEntity.setScanTime(new Date());
if (null == distributionLoadscanEntity.getPackageNub()) {
@ -729,7 +729,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub());
distributionLoadscanEntity.setScanStatus(2);
distributionLoadscanEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue());
distributionLoadscanEntity.setScanType("1");
distributionLoadscanEntity.setReceivedQuantity(1);
// distributionLoadscanEntity.setOneClick(2);

Loading…
Cancel
Save