Browse Source

修改自提库存品备货详情查询

training
caoyizhong 2 years ago
parent
commit
a286906de0
  1. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java
  2. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  3. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml
  4. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml
  5. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java
  6. 43
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  7. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  8. 17
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  9. 77
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

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

@ -34,6 +34,7 @@ public class DistributionStockupVO extends DistributionStockupEntity {
private static final long serialVersionUID = 1L;
private String headline;
private String cargoUnit; //数量
private String groupName;
private String warehouseName; //仓库名称

11
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java

@ -569,8 +569,17 @@ public class DistributionStockupAppController extends BladeController {
//重复扫码
String audioValue7 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "7");
return Resp.scanFail("包条码不存在!",audioValue7);
case 8:
//重复扫码
String audioValue8 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "8");
return Resp.scanFail("条码已使用!",audioValue8);
case 9:
//重复扫码
String audioValue9 = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "9");
return Resp.scanFail("没有待绑定的库存品信息!",audioValue9);
}
}
log.warn("###################stockupScan: 未知的扫码类型 scanType={}",scanType);
return R.fail("未知的扫码类型");

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

@ -60,10 +60,10 @@
<select id="oneListNum" resultType="com.logpm.distribution.vo.DistributionDeliveryDetailsVO">
select sum(lddd.quantity) wholeNum , (
select COUNT(1)
select COUNT(DISTINCT ldbls.id)
from logpm_distribution_delivery_details ldd
LEFT JOIN logpm_distribution_bill_lading_scan ldbls on ldd.stock_list_id = ldbls.stock_list_id
where lddd.bill_lading_id = #{id} and ldd.is_deleted = 0
where ldbls.bill_lading_id = #{id} and ldd.is_deleted = 0
) esauNum
from logpm_distribution_delivery_details lddd
where lddd.bill_lading_id = #{id} and lddd.is_deleted = 0

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

@ -234,7 +234,8 @@
<select id="selectStockListInfoList" resultType="com.logpm.distribution.vo.StockListInfoListVO">
select
s.coding packageCode,
s.goods_name name
s.goods_name name,
ldsl.
from logpm_distribution_reservation ldr
left join logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldr.id and ldrs.is_deleted = 0 and ldrs.stock_list_status in (1,3)

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.java

@ -168,4 +168,6 @@ public interface DistributionStockupMapper extends BaseMapper<DistributionStocku
* @return
*/
IPage<DistributionStockupEntity> pageOweList(IPage<Object> page,@Param("param")DistributionStockupEntity distributionStockupEntity);
IPage<DistributionStockupVO> getInventoryOwnSelf(IPage<Object> page,@Param("id") Long id);
}

43
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -83,6 +83,32 @@
</where>
GROUP BY lds.id
</select>
<select id="getInventoryOwnSelf" resultType="com.logpm.distribution.vo.DistributionStockupVO">
select DISTINCT ldsii.sku,ldsii.cargo_unit cargoUnit,lds.stockup_status stockupStatus,lds.stockup_date stockupDate,lds.stockup_area stockupArea,ldsii.description_goods descriptionGoods
,lddd.quantity reservationNum,ldsii.order_code orderCode,
(
select GROUP_CONCAT(DISTINCT tray_code)
from logpm_warehouse_tray_goods
where association_id = ldsii.id and market_id = ldsii.market_id
) pallet ,
(
select GROUP_CONCAT(DISTINCT position_code)
from logpm_warehouse_updown_goods
where association_id = ldsii.id and market_id = ldsii.market_id
) goodsAllocation,
(
select count(1)
from logpm_distribution_stock ds
WHERE ds.stock_list_id = ldsii.id and ds.bill_lading_id = lddd.bill_lading_id
) number
from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on lds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_delivery_details lddd on lddd.bill_lading_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_stock_list ldsii on ldsii.id = lddd.stock_list_id
<where>
ldsi.stockup_id =#{id}
</where>
</select>
<select id="pageOweList" resultType="com.logpm.distribution.vo.DistributionStockupVO">
select DISTINCT lds.id,lds.stockup_date stockupDate, lds.stockup_user stockupUser, lds.stockup_status stockupStatus, lds.stockup_area stockupArea,
lds.assign_status assignStatus, lds.goods_area_id goodsAreaId, lds.forklift_name forkliftName,
@ -152,7 +178,7 @@
where ds.id = lds.id
) orderNum ,
(
select COUNT(ldrp.id)
select COUNT(DISTINCT ldrp.id)
from logpm_distribution_stockup ds
LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id and ldrp.packet_bar_status in (1,3)
@ -215,11 +241,11 @@
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id
where ldbs.bill_lading_id = ldsi.reservation_id)
) trays ,
(select COUNT(id)
(select COUNT(DISTINCT id)
from logpm_distrilbution_bill_stock
where bill_lading_id = ldsi.reservation_id and order_status in (1,2) ) orderNum,
(
select COUNT(ldbs.id)
select COUNT(DISTINCT ldbs.id)
from logpm_distrilbution_bill_stock ldbs
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id
where ldbs.bill_lading_id = ldsi.reservation_id
@ -230,7 +256,7 @@
where lddd.bill_lading_id = ldbs.bill_lading_id
) inventoryNub,
(
select COUNT(id)
select COUNT(DISTINCT id)
from logpm_distribution_stock
where parcel_list_id in (
select id
@ -238,7 +264,7 @@
where ldbs.stock_article_id = stock_article_id
)
)+(
select COUNT(lds.id)
select COUNT(DISTINCT lds.id)
from logpm_distribution_delivery_details lddd
LEFT JOIN logpm_distribution_stock lds on lddd.stock_list_id = lds.stock_list_id
where lds.bill_lading_id =ldbs.bill_lading_id
@ -554,9 +580,7 @@
where dpl.stock_article_id = ldrsi.stocklist_id
)
) number
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_reservation_stocklist ldrsi on ldrsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stockup lds on lds.id = ldsi.stockup_id
@ -589,8 +613,9 @@
and ldsi.is_deleted = 0
</select>
<select id="getInventoryCheSelf" resultType="com.logpm.distribution.vo.DistributionStockupVO">
select lddd.quantity,ldsi.reservation_id
from logpm_distribution_stockup_info ldsi
select lddd.quantity reservationStockListNum,ldsi.reservation_id,lds.type_service
from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
LEFT JOIN logpm_distribution_delivery_details lddd on ldsi.reservation_id = lddd.bill_lading_id
<where>
ldsi.stockup_id =#{id} and lddd.inventory_status in (1,2)

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

@ -32,6 +32,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@ -621,6 +622,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
reservationEntity.setStockupStatus(StockupStatusConstant.beihuozhong.getValue());
}else if (i== 0){
distributionStockup.setId(stockupDTO.getStockupId());
distributionStockup.setFixTime(new Date());
distributionStockup.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
reservationEntity.setId(stockupDTO.getReservationId());
reservationEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
@ -685,6 +687,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
//改为已完成
//修改备货状态
distributionStockup.setId(stockupDTO.getStockupId());
distributionStockup.setFixTime(new Date());
distributionStockup.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
}
}else{

17
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -182,7 +182,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
disStockListDetail.setWarehouseId(i.getWarehouseId());
disStockListDetail.setWarehouseName(i.getWarehouseName());
disStockListDetail.setReservationId(i.getBillLadingId());
disStockListDetail.setStockPackageCode("1");
disStockListDetail.setStockPackageStatus("1");
disStockListDetail.setStockListId(i.getStockListId());
disStockListDetail.setStockLockingStatus(StockLockingStatusConstant.wuzhuangche.getValue());
disStockListDetail.setStockStatus(StockStatusConstant.daibangding.getValue());
@ -630,13 +630,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
@Override
public IPage<DistributionStockupVO> getInventoryOwnSelf(IPage<Object> page, long id) {
IPage<DistributionStockupVO> l = new Page<>();
IPage<DistributionStockupVO> l = new Page<DistributionStockupVO>();
List<DistributionStockupVO> inventoryChe = baseMapper.getInventoryCheSelf(id);
if (inventoryChe.size() > 0) {
if (!inventoryChe.isEmpty()) {
boolean b = inventoryChe.stream().anyMatch(i -> ObjectUtils.isNotNull(i.getReservationStockListNum()) && i.getReservationStockListNum() > 0);
if (b) {
//查询库存品
return baseMapper.getInventoryOwn(page, id);
return baseMapper.getInventoryOwnSelf(page, id);
} else {
return l;
}
@ -1074,7 +1074,12 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
DisStockListDetailEntity disStockListDetail = new DisStockListDetailEntity();
DisStockOrdercodeRecoEntity ordercodeRecoEntity = new DisStockOrdercodeRecoEntity();
DisStockOrdercodeRecoEntity one = disStockOrdercodeRecoService.getOne(Wrappers.<DisStockOrdercodeRecoEntity>query().lambda()
.eq(DisStockOrdercodeRecoEntity::getCode, stockupDTO.getPacketBarCode())
);
if(ObjectUtils.isNotNull(one) && one.getCodeStatus().equals("1")){
return 8;
}
//查询仓库信息
DistributionStockListEntity byId = distributionStockListService.getById(stockupDTO.getStockListId());
//有 绑定 查询有没有库存品信息
@ -1117,7 +1122,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
} else {
//没有包件信息
return 7;
return 9;
}

77
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -65,6 +65,7 @@ import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
@ -534,10 +535,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
} else {
vo.setInventoryNum(0);
}
vo.setOrderNum(orderNum);
vo.setPlanNum(planNum);
vo.setSignedNum(signedNum);
vo.setInventoryNub(inventoryNub);
vo.setOrderNum(orderNum); //订单总数
vo.setPlanNum(planNum); //自提件数
vo.setSignedNum(signedNum); //签收总数
vo.setInventoryNub(inventoryNub); //库存品数
}
pageList.setRecords(records);
@ -1043,12 +1044,76 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//查询订单数
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
.apply("order_status in (1,2)")
);
AtomicReference<Integer> pake = new AtomicReference<>(0); // 包件数量
AtomicReference<Integer> pakeys = new AtomicReference<>(0); // 包件以扫数量
boolean apj = false;
if(list.size() > 0){
//查询包件数量
list.forEach(i ->{
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getStockArticleId, i.getStockArticleId())
);
int size = list1.size();
pake.set(pake.get() + size);
//查询扫码数量
List<DistributionBillLadingScanEntity> list2 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getStockArticleId, i.getStockArticleId())
);
int size2 = list2.size();
pakeys.set(pakeys.get() + size2);
});
if(pake.get().equals(pakeys.get()+1)){
//订单完成备货
apj = true;
}
}else{
//订单完成备货
apj = true;
}
//查询库存品数
List<DistributionDeliveryDetailsEntity> list1 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, billLadingId)
);
long count = list.stream().filter(e -> e.getConditions().equals("2")).count(); // 订 已签收的数
//
AtomicReference<Integer> kcq = new AtomicReference<>(0); // 库存全部数量
AtomicReference<Integer> kcs = new AtomicReference<>(0); // 库存以扫数量
boolean kc = false;
if(list1.size() > 0){
list1.forEach( i -> {
//查询以扫数量
List<DistributionBillLadingScanEntity> list2 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getStockListId, i.getStockListId())
);
kcq.set(kcq.get()+i.getQuantity());//全部数量
int size = list2.size();
kcs.set(kcs.get()+size);//以扫数量
});
//多个
if(kcq.get() == (kcs.get()+1)){
kc=true;
}
}else{
kc = true;
}
if(apj && kc){
//完成
//已完成
//修改提货任务状态
DistrilbutionBillLadingEntity billLadingEntity = new DistrilbutionBillLadingEntity();
String bill = (String) billLadingId;
billLadingEntity.setId(Long.valueOf(bill));
billLadingEntity.setConditions("20");
baseMapper.updateById(billLadingEntity);
}
/*long count = list.stream().filter(e -> e.getConditions().equals("2")).count(); // 订 已签收的数
long count2 = list1.stream().filter(e -> e.getConditions().equals("2")).count(); // 库 已签收的数
if (Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()) {
//修改提货任务状态
@ -1057,7 +1122,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
billLadingEntity.setId(Long.valueOf(bill));
billLadingEntity.setConditions("20");
baseMapper.updateById(billLadingEntity);
}
}*/
return Resp.scanFail( "签收成功","签收成功");
}
}

Loading…
Cancel
Save