Browse Source

增值服务接口、签收。待签收bug修复

training
kilo 1 year ago
parent
commit
041e373ad2
  1. 12
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueEntity.java
  2. 28
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  3. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.java
  4. 38
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml
  5. 32
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  6. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java
  7. 34
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java
  8. 77
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  9. 60
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

12
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionAddvalueEntity.java

@ -119,5 +119,17 @@ public class DistributionAddvalueEntity extends TenantEntity {
@ApiModelProperty(value = "配送Id")
private Long deliveryListId;
/**
* 仓库Id
*/
@ApiModelProperty(value = "仓库Id")
private Long warehouseId;
/**
* 仓库名称
*/
@ApiModelProperty(value = "仓库名称")
private String warehouseName;
}

28
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java

@ -22,12 +22,14 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.distribution.dto.DistributionAddvalueDTO;
import com.logpm.distribution.dto.DistributionSignforDTO;
import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO;
import com.logpm.distribution.entity.DistributionSignPrintEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.service.IDistributionReservationService;
import com.logpm.distribution.service.IDistributionSignforService;
import com.logpm.distribution.service.impl.DistributionAddvalueServiceImpl;
import com.logpm.distribution.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -74,6 +76,9 @@ public class DistributionSignforController extends BladeController {
private final IDistributionReservationService reservationService;
private final DistributionAddvalueServiceImpl distributionAddvalueService;
/**
* 签收管理 详情
*/
@ -329,6 +334,29 @@ public class DistributionSignforController extends BladeController {
}
/**
* 签收管理进行增值服务操作
*/
@PostMapping("/saveSignAddValuePackage")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "PC查看增值服务列表", notes = "传入ids")
public R checkAddValuePackageList(@RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
return distributionAddvalueService.saveAddvalueInfo(distributionAppAddvalueDTO);
}
/**
* 签收管理进行增值服务操作
*/
@PostMapping("/cancelSignAddValuePackage")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "PC查看增值服务列表", notes = "传入ids")
public R cancelSignAddValuePackage(@RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
return distributionAddvalueService.cancelSignAddValuePackage(distributionAppAddvalueDTO);
}

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

@ -123,6 +123,14 @@ public interface DistributionAddvalueMapper extends BaseMapper<DistributionAddva
List<DistributionAddvaluePackageVO> selectAddvalueInventoryPackageVO(@Param("reservationId")Long reservationId,@Param("stockListId")Long stockListId,@Param("obj")Map<String, Object> addValueDTO);
/**
*
* @param reservationId
* @param addvalueType
* @return
*/
List<DistributionAddvaluePackageEntity> selectAddvaluePackageListByAddvalueType(@Param("reservationId")Long reservationId,@Param("addvalueType") String addvalueType);
// /**
// * 删除增值服务
// * @param reservationId

38
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueMapper.xml

@ -176,7 +176,7 @@
</select>
<select id="selectAddvaluePackageVO" resultType="com.logpm.distribution.vo.DistributionAddvaluePackageVO">
SELECT
ldpl.id,
ldpl.id AS packageId,
ldpl.firsts,
ldpl.second,
ldpl.third_product,
@ -193,7 +193,7 @@
WHERE
ldrp.reservation_id = #{reservationId} and ldrp.stock_article_id = #{stockArticleId} and ldrp.packet_bar_status in ('1','3')
<if test="obj.orderPackageCode != null and obj.orderPackageCode != ''">
and ldpl.opder_package_code =#{obj.orderPackageCode}
and ldpl.order_package_code =#{obj.orderPackageCode}
</if>
</select>
<select id="selectAddvalueZeroPackageVO"
@ -237,5 +237,39 @@
AND ldsld.stock_package_code like concat ('%',#{obj.orderPackageCode},'%')
</if>
</select>
<select id="selectAddvaluePackageListByAddvalueType"
resultType="com.logpm.distribution.entity.DistributionAddvaluePackageEntity">
SELECT
ldap.tenant_id,
ldap.create_user,
ldap.create_time,
ldap.update_user,
ldap.update_time,
ldap.status,
ldap.is_deleted,
ldap.create_dept,
ldap.id,
ldap.reserve1,
ldap.reserve2,
ldap.reserve3,
ldap.reserve4,
ldap.reserve5,
ldap.package_id,
ldap.conditions,
ldap.order_package_code,
ldap.order_code,
ldap.material_name,
ldap.stock_article_id,
ldap.quantity,
ldap.reservation_id,
ldap.addvalue_detail_id,
ldap.record_type
FROM
logpm_distribution_addvalue AS lda
INNER JOIN logpm_distribution_addvalue_detail AS ldad ON lda.id = ldad.addvalue_id
INNER JOIN logpm_distribution_addvalue_package AS ldap ON lda.ref_id = ldap.reservation_id AND ldap.addvalue_detail_id = ldad.id
WHERE
lda.ref_id = #{reservationId} AND lda.addvalue_id = #{addvalueType} and lda.ref_type = '1'
</select>
</mapper>

32
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -530,15 +530,15 @@
</where>
order by create_time desc limit 1
</select>
<!-- CASE-->
<!-- WHEN-->
<!-- lds.driver_signing = '2' THEN-->
<!-- '司机签收'-->
<!-- WHEN lds.signing_status = '2' THEN-->
<!-- '文员审核' ELSE '待签收'-->
<!-- END signingStatusAll,-->
<select id="selectOneCustom" resultType="com.logpm.distribution.vo.DistributionSignforVO">
SELECT
CASE
WHEN
lds.driver_signing = '2' THEN
'司机签收'
WHEN lds.signing_status = '2' THEN
'文员审核' ELSE '待签收'
END signingStatusAll,
CASE
WHEN
ldr.is_urgent = '1' THEN '否'
@ -551,6 +551,10 @@
ldr.remarks remarks,
ldr.delivery_address deliveryAddress,
ldr.delivery_phone deliveryPhone,
lds.clerk_sign_remarks clerkSignRemarks,
lds.driver_remarks driverRemarks,
lds.signing_status AS wenyuanSigningStatus,
lds.driver_signing AS sijiSigningStatus,
lds.reservation_id reservationId,
lds.signing_type signingType,
lds.clerk_sign_pictures clerkSignPictures,
@ -568,7 +572,19 @@
'商配'
WHEN ldr.delivery_type = '2' THEN
'市配'
END deliveryType
END deliveryType,
CASE
WHEN lds.signing_status = '1' THEN
'文员待审核'
WHEN lds.signing_status = '2' THEN
'文员已审核'
END signingStatusName,
CASE
WHEN lds.driver_signing = '1' THEN
'司机待审核'
WHEN lds.driver_signing = '2' THEN
'司机已签收'
END driverSigningName
FROM
logpm_distribution_signfor lds
JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAddvalueService.java

@ -106,6 +106,13 @@ public interface IDistributionAddvalueService extends IService<DistributionAddva
*/
R addvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO);
/**
* 取消增值服务包件信息
* @param distributionAppAddvalueDTO
* @return
*/
R cancelSignAddValuePackage(DistributionAppAddvalueDTO distributionAppAddvalueDTO);
// /**
// * 签收列表查看对应的增值服务列表信息

34
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java

@ -49,6 +49,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.locks.Condition;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@ -261,6 +262,8 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
distributionAddvalueEntity.setRefType(1);
distributionAddvalueEntity.setRefId(distributionAppAddvalueDTO.getReservationId());
distributionAddvalueEntity.setDeliveryListId(distributionAppAddvalueDTO.getDeliveryId());
distributionAddvalueEntity.setWarehouseId(reservationEntity.getWarehouseId());
distributionAddvalueEntity.setWarehouseName(reservationEntity.getWarehouseName());
this.save(distributionAddvalueEntity);
distributionAddvalueDetailEntity.setAddvalueId(distributionAddvalueEntity.getId());
distributionAddvalueDetailEntity.setRecordType(2);
@ -270,9 +273,13 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
}
distributionAddvalueDetailService.save(distributionAddvalueDetailEntity);
List<DistributionAddvaluePackageEntity> addvaluePackageEntities = new ArrayList<>();
List<DistributionAddvaluePackageEntity> packageEntities = distributionAddvalueMapper.selectAddvaluePackageListByAddvalueType(distributionAppAddvalueDTO.getReservationId(),distributionAppAddvalueDTO.getAddvalueType());
Map<Long, DistributionAddvaluePackageEntity> addvaluePackageEntityMap = packageEntities.stream().collect(Collectors.toMap(DistributionAddvaluePackageEntity::getPackageId, Function.identity(), (k1, k2) -> k2));
packageDTOList.stream().forEach(p->{
p.setAddvalueDetailId(distributionAddvalueDetailEntity.getId());
addvaluePackageEntities.add(Func.copy(p,DistributionAddvaluePackageEntity.class));
if (Func.isEmpty(addvaluePackageEntityMap.get(p.getPackageId()))){
p.setAddvalueDetailId(distributionAddvalueDetailEntity.getId());
addvaluePackageEntities.add(Func.copy(p,DistributionAddvaluePackageEntity.class));
}
});
distributionAddvaluePackageService.saveBatch(addvaluePackageEntities);
return Resp.scanSuccess("添加成功","添加成功");
@ -504,6 +511,29 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
return R.data(addvalueInfo);
}
@Override
public R cancelSignAddValuePackage(DistributionAppAddvalueDTO distributionAppAddvalueDTO) {
List<DistributionAddvaluePackageDTO> packageEntityList = distributionAppAddvalueDTO.getPackageEntityList();
if (Func.isEmpty(packageEntityList)){
log.error("################在干什么?参数都不会传");
return R.fail("在干什么?参数都不会传");
}
List<Long> packageIds = packageEntityList.stream().map(DistributionAddvaluePackageDTO::getPackageId).collect(Collectors.toList());
List<DistributionAddvaluePackageEntity> addvaluePackageEntities = distributionAddvaluePackageMapper.selectList(Wrappers.<DistributionAddvaluePackageEntity>query().lambda()
.eq(DistributionAddvaluePackageEntity::getReservationId, distributionAppAddvalueDTO.getReservationId())
.eq(DistributionAddvaluePackageEntity::getAddvalueDetailId, distributionAppAddvalueDTO.getAddvalueDetailId())
);
packageIds.forEach(id->{
distributionAddvaluePackageMapper.deleteAddvaluePackage(distributionAppAddvalueDTO.getReservationId(),id);
});
if (packageIds.size() == addvaluePackageEntities.size()){
//这里就需要对整个增值服务项进行删除
distributionAddvalueDetailMapper.deleteAddvalueDetail(distributionAppAddvalueDTO.getAddvalueDetailId());
distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(),distributionAppAddvalueDTO.getAddvalueType());
}
return R.success("操作成功");
}
// @Override
// public List<DistributionAddvaluePackageEntity> getAddvalueBySignfor(DistributionAddvalueDTO distributionAddvalueDTO) {
// DistributionAddvalueVO addvalueVO = distributionAddvalueMapper.getAddvalueBySignfor(distributionAddvalueDTO);

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

@ -2259,7 +2259,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionAppDeliveryListVO.setStockupArea("无数据");
}
}
//查询包件签收件数
Integer lad = distributionLoadscanMapper.selectCount(new QueryWrapper<DistributionLoadscanEntity>().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, distributionAppDeliveryListVO.getId())
@ -2271,7 +2270,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
.eq(DistributionLoadscaninvnEntity::getDeliveryId, distributionAppDeliveryListVO.getId())
.eq(DistributionLoadscaninvnEntity::getSignforState, 2)
).intValue();
//维护计划数
List<DistributionReservationEntity> reservationEntityList = baseMapper.selectReservationByDeliveryListId(distributionAppDeliveryListVO.getId());
if (Func.isNotEmpty(reservationEntityList)){
@ -2281,20 +2279,40 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}else {
return null;
}
distributionAppDeliveryListVO.setSignNub(lad + nad);
//查询完成客户数
Integer cusCount = baseMapper.selectCompletecusCount(distributionAppDeliveryListVO.getId());
//查询完成订单数
Integer ordCount = 0;
List<DistributionAppStockArticleVO> distributionAppStockArticleVOS = baseMapper.selectDistributionAppDeliveryOrderO(distributionAppDeliveryListVO);
for (DistributionAppStockArticleVO distributionAppStockArticleVO : distributionAppStockArticleVOS) {
if (distributionAppStockArticleVO.getLoadingNub() >= distributionAppStockArticleVO.getReservationNum()) {
ordCount += 1;
}
}
AtomicInteger ordCount = new AtomicInteger();
// List<DistributionAppStockArticleVO> distributionAppStockArticleVOS = baseMapper.selectDistributionAppDeliveryOrderO(distributionAppDeliveryListVO);
List<DistributionStockArticleVO> deliveryStockArticleInfo = baseMapper.getDeliveryStockArticleInfo(distributionAppDeliveryListVO.getId());
// deliveryStockArticleInfo.forEach();
List<DistributionReservationEntity> distributionReservationEntities = baseMapper.selectReservationByDeliveryListId(distributionAppDeliveryListVO.getId());
distributionReservationEntities.forEach(r->{
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(r.getId());
reservationStockarticleEntityList.forEach(rs->{
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, distributionAppDeliveryListVO.getId())
.eq(DistributionLoadscanEntity::getOrderId, rs.getStockArticleId())
.eq(DistributionLoadscanEntity::getReservationId, rs.getReservationId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (Func.isNotEmpty(loadscanEntityList)){
int loadSum = loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum();
if (rs.getReservationNum() == loadSum){
ordCount.getAndIncrement();
}
}
});
});
// distributionReservationMapper.selectPackageByReservationAndStockArticle()
// for (DistributionAppStockArticleVO distributionAppStockArticleVO : distributionAppStockArticleVOS) {
// if (distributionAppStockArticleVO.getLoadingNub() >= distributionAppStockArticleVO.getReservationNum()) {
// ordCount += 1;
// }
// }
distributionAppDeliveryListVO.setLoadCusNub(cusCount);
distributionAppDeliveryListVO.setLoadOrdNub(ordCount);
distributionAppDeliveryListVO.setLoadOrdNub(ordCount.get());
//查询下面的预约单
List<DistributionSignforEntity> distributionSignforEntityList = distributionSignforMapper.selectList(new QueryWrapper<DistributionSignforEntity>().lambda()
.eq(DistributionSignforEntity::getDeliveryId, distributionAppDeliveryListVO.getId())
@ -2346,7 +2364,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionAppDeliveryListVO.setDriverName(stringBuilder.toString());
}
}
return page.setRecords(distributionAppDeliveryListVOS);
}
@ -2523,7 +2540,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
parcelListEntities.forEach(p->{
WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = new WarehouseTrayGoodsEntity();
warehouseTrayGoodsEntity.setAssociationId(p.getId());
warehouseTrayGoodsEntity.setAssociationType("1");
warehouseTrayGoodsEntity.setAssociationValue(p.getOrderPackageCode());
warehouseTrayGoodsEntity.setAssociationType("3");
List<WarehouseTrayGoodsEntity> trayGoodsClientTrayList = warehouseTrayGoodsClient.getTrayList(warehouseTrayGoodsEntity);
if (Func.isNotEmpty(trayGoodsClientTrayList)){
trayList.addAll(trayGoodsClientTrayList);
@ -2537,7 +2555,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
if (Func.isNotEmpty(packageListLoadingScan)){
loadscanEntityList.addAll(packageListLoadingScan);
}
}else if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.yes.getValue())){
//查询零担备货数量
List<DistributionStockEntity> zeroPackageListStockUpScan = distributionStockMapper.selectList(Wrappers.<DistributionStockEntity>query().lambda()
@ -2559,8 +2576,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
distributionAppReservationVO.setTrayNum(0);
if (Func.isNotEmpty(trayList)){
Long count = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayId).count();
distributionAppReservationVO.setTrayNum(count.intValue());
// Long count = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayId).count();
Long aaa = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayId).distinct().count();
distributionAppReservationVO.setTrayNum(aaa.intValue());
}
List<DisStockListDetailEntity> stockListDetailEntityList = distributionReservationMapper.selectInventoryListByReservation(distributionAppReservationVO.getId());
// boolean inventoryStockupStatus = stockListDetailEntityList.stream().allMatch(i -> Func.isNotEmpty(i.getStockPackageCode()));
@ -3841,7 +3859,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageByReservationAndStockArticle(rs.getReservationId(), rs.getStockArticleId());
List<DistributionLoadscanEntity> packageLoadingList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, distributionAppDeliveryListDTO.getId())
.eq(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
.eq(DistributionLoadscanEntity::getReservationId, rs.getReservationId())
.in(DistributionLoadscanEntity::getPackageId, parcelListEntityList.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList())));
if (Func.isNotEmpty(packageLoadingList)){
@ -3860,7 +3878,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionParcelNumberVO> parcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(rs.getStockArticleId(), rs.getReservationId());
List<DistributionLoadscanEntity> loadscanEntities = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, distributionAppDeliveryListDTO.getId())
.eq(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
.eq(DistributionLoadscanEntity::getReservationId, rs.getReservationId())
.in(DistributionLoadscanEntity::getPackageId, parcelNumberVOS.stream().map(DistributionParcelNumberVO::getParcelListId).collect(Collectors.toList())));
if (Func.isNotEmpty(loadscanEntities)){
@ -4686,18 +4704,21 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
c.setIsScan(2);
}
TrayTypeDataVO trayTypeDataVO = warehouseTrayTypeClient.selectListByTrayCode(c.getTrayCode());
List<WarehouseTrayGoodsEntity> goodsLsit = trayTypeDataVO.getGoodsLsit();
if (Func.isNotEmpty(goodsLsit)) {
List<Long> longs = goodsLsit.stream().map(WarehouseTrayGoodsEntity::getAssociationId).collect(Collectors.toList());
List<DistributionParcelListEntity> parcelListEntities = distributionParcelListService.listByIds(longs);
List<DistributionParcelListEntity> reservationPackageList = distributionReservationMapper.selectPackageListByReservationId(Long.parseLong(distributionDeliveryList.getReservationId()));
Map<Long, DistributionParcelListEntity> packageMap = reservationPackageList.stream().collect(Collectors.toMap(DistributionParcelListEntity::getId, Function.identity(), (k1, k2) -> k2));
boolean flag = parcelListEntities.stream().allMatch(p -> Func.isNotEmpty(packageMap.get(p.getId())));
if (flag) {
c.setPackageList(DistributionParcelListWrapper.build().listVO(parcelListEntities));
a.add(c);
if (Func.isNotEmpty(trayTypeDataVO)){
List<WarehouseTrayGoodsEntity> goodsLsit = trayTypeDataVO.getGoodsLsit();
if (Func.isNotEmpty(goodsLsit)) {
List<Long> longs = goodsLsit.stream().map(WarehouseTrayGoodsEntity::getAssociationId).collect(Collectors.toList());
List<DistributionParcelListEntity> parcelListEntities = distributionParcelListService.listByIds(longs);
List<DistributionParcelListEntity> reservationPackageList = distributionReservationMapper.selectPackageListByReservationId(Long.parseLong(distributionDeliveryList.getReservationId()));
Map<Long, DistributionParcelListEntity> packageMap = reservationPackageList.stream().collect(Collectors.toMap(DistributionParcelListEntity::getId, Function.identity(), (k1, k2) -> k2));
boolean flag = parcelListEntities.stream().allMatch(p -> Func.isNotEmpty(packageMap.get(p.getId())));
if (flag) {
c.setPackageList(DistributionParcelListWrapper.build().listVO(parcelListEntities));
a.add(c);
}
}
}
});
return page.setRecords(a);
}

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

@ -1226,16 +1226,41 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
// distributionAppDeliveryListVO.setDeliveryNumber(loadNum.get());
//查询完成客户数
Integer cusCount = distributionDeliveryListMapper.selectCompletecusInCount(distributionAppDeliveryListVO.getId());
//查询完成订单数
Integer ordCount = 0;
List<DistributionAppStockArticleVO> distributionAppStockArticleVOS = distributionDeliveryListMapper.selectDistributionAppDeliveryOrderOIn(distributionAppDeliveryListVO);
for (DistributionAppStockArticleVO distributionAppStockArticleVO : distributionAppStockArticleVOS) {
if (distributionAppStockArticleVO.getSignNub() >= distributionAppStockArticleVO.getReservationNum()) {
ordCount += 1;
}
}
// //查询完成订单数
// Integer ordCount = 0;
// List<DistributionAppStockArticleVO> distributionAppStockArticleVOS = distributionDeliveryListMapper.selectDistributionAppDeliveryOrderOIn(distributionAppDeliveryListVO);
// for (DistributionAppStockArticleVO distributionAppStockArticleVO : distributionAppStockArticleVOS) {
// if (distributionAppStockArticleVO.getSignNub() >= distributionAppStockArticleVO.getReservationNum()) {
// ordCount += 1;
// }
// }
AtomicInteger ordCount = new AtomicInteger();
// List<DistributionAppStockArticleVO> distributionAppStockArticleVOS = baseMapper.selectDistributionAppDeliveryOrderO(distributionAppDeliveryListVO);
List<DistributionStockArticleVO> deliveryStockArticleInfo = distributionDeliveryListMapper.getDeliveryStockArticleInfo(distributionAppDeliveryListVO.getId());
// deliveryStockArticleInfo.forEach();
List<DistributionReservationEntity> distributionReservationEntities = distributionDeliveryListMapper.selectReservationByDeliveryListId(distributionAppDeliveryListVO.getId());
distributionReservationEntities.forEach(r->{
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(r.getId());
reservationStockarticleEntityList.forEach(rs->{
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, distributionAppDeliveryListVO.getId())
.eq(DistributionLoadscanEntity::getOrderId, rs.getStockArticleId())
.eq(DistributionLoadscanEntity::getReservationId, rs.getReservationId())
.eq(DistributionLoadscanEntity::getSignforState, LoadScanSigningStatusConstant.yiqianshou.getValue())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (Func.isNotEmpty(loadscanEntityList)){
int loadSum = loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum();
if (rs.getReservationNum() == loadSum){
ordCount.getAndIncrement();
}
}
});
});
distributionAppDeliveryListVO.setLoadCusNub(cusCount);
distributionAppDeliveryListVO.setLoadOrdNub(ordCount);
distributionAppDeliveryListVO.setLoadOrdNub(ordCount.get());
//查询下面的预约单
List<DistributionSignforEntity> distributionSignforEntityList = distributionSignforMapper.selectList(new QueryWrapper<DistributionSignforEntity>().lambda()
.eq(DistributionSignforEntity::getDeliveryId, distributionAppDeliveryListVO.getId())
@ -1334,8 +1359,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
// 此时考虑多种场景:
// 1、存在库存品 库存品未进行备货操作无法进行一件装车,但是对于已备货的库存品可以进行装车
// 2、多个车次的配送任务进行一件签收状态、在没有进行装车操作的时候
//
// 3、对于已经装车的库存品或者包件在一件签收的时候需要进行过滤
Map<String, List<DistributionSignPrintDTO>> map = distributionSignfor.getMap();
if (Func.isEmpty(map)){
log.error("#############无图片信息:{}", map);
return R.fail("想用还偷懒~~");
}
this.updatePicture(distributionSignfor);
//2、维护状态
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(distributionSignfor.getReservationId());
if (Func.isEmpty(reservationEntity)) {
@ -1350,6 +1381,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//获取计划配送用户司机
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignfor.getDeliveryId());
if (Func.isEmpty(distributionDeliveryListEntity)){
log.error("#############deliveryId参数错误:{}", distributionSignfor.getDeliveryId());
return R.fail("服务器正忙~~");
}
DistributionDeliverySelfEntity distributionDeliverySelfEntity = null;
if (distributionDeliveryListEntity.getKind().equals("1")) {
//自主
@ -2636,15 +2671,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
});
}
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(Long.parseLong(reservationId));
if (Func.isNotEmpty(distributionReservationStocklistEntities)){
List<Long> inventoryIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
LambdaQueryWrapper<DistributionStockListEntity> inventoryQW = Wrappers.<DistributionStockListEntity>query().lambda().in(DistributionStockListEntity::getId, inventoryIds);
if (Func.isNotEmpty(addValueDTO.get("materialName"))){
inventoryQW.like(DistributionStockListEntity::getDescriptionGoods,(String)addValueDTO.get("materialName"));
inventoryQW.like(DistributionStockListEntity::getDescriptionGoods,addValueDTO.get("materialName"));
}
if (Func.isNotEmpty(addValueDTO.get("materialCode"))){
inventoryQW.like(DistributionStockListEntity::getCargoNumber,(String)addValueDTO.get("materialCode"));
inventoryQW.like(DistributionStockListEntity::getCargoNumber,addValueDTO.get("materialCode"));
}
List<DistributionStockListEntity> stockListEntityList = distributionStockListService.list(inventoryQW);
stockListEntityList.forEach(inven->{

Loading…
Cancel
Save