Browse Source

批量签收异常

dist.1.3.0
汤建军 6 months ago
parent
commit
90c78c5a3e
  1. 136
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

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

@ -3556,8 +3556,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
BladeUser user = AuthUtil.getUser();
Boolean driver = distributionDeliveryListService.judgeIsDriver(user);
if (!driver){
return Resp.scanFail("当前操作由司机完成","当前操作由司机完成");
if (!driver) {
return Resp.scanFail("当前操作由司机完成", "当前操作由司机完成");
}
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
@ -3566,8 +3566,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
);
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId());
DistributionDeliverySelfEntity deliverySelfEntity = distributionDeliveryListService.getDriver(distributionDeliveryListEntity, user, null, driver);
if (Objects.isNull(deliverySelfEntity)){
return Resp.scanFail("当前司机无权操作","当前司机无权操作");
if (Objects.isNull(deliverySelfEntity)) {
return Resp.scanFail("当前司机无权操作", "当前司机无权操作");
}
if (Func.isEmpty(distributionDeliveryListEntity)) {
return R.fail(403, "配送错误!!!");
@ -5378,7 +5378,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return Resp.scanFail("操作失败", "当前操作由司机操作");
}
}
if (deliverySelfEntity == null){
if (deliverySelfEntity == null) {
return Resp.scanFail("当前人无操作权限", "当前人无操作权限");
}
List<JSONObject> jsonObjects = new ArrayList<>();
@ -5414,17 +5414,20 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (packageLoadingData.isEmpty() && inventoryLoadingData.isEmpty()) {
return Resp.scanFail("当前客户未进行装车操作", "当前客户未进行装车操作");
}
try {
if (!packageLoadingData.isEmpty()) {
receivedQuantity += packageLoadingData.stream().mapToInt(DistributionLoadscanEntity::getPackageNub).sum();
//进行订制品和零担的批量签收
handlePackageLoadingData(packageLoadingData, user, distributionLoadscanEntityLists, orderCodes);
}
if (!packageLoadingData.isEmpty()) {
receivedQuantity += packageLoadingData.stream().mapToInt(DistributionLoadscanEntity::getPackageNub).sum();
//进行订制品和零担的批量签收
handlePackageLoadingData(packageLoadingData, user, distributionLoadscanEntityLists, orderCodes);
}
if (!inventoryLoadingData.isEmpty()) {
receivedinQuantity += inventoryLoadingData.stream().mapToInt(DistributionLoadscaninvnEntity::getPackageNub).sum();
//进行订制品和零担的批量签收
handleInventoryLoadingData(inventoryLoadingData, user, distributionLoadscaninvnEntityLists);
if (!inventoryLoadingData.isEmpty()) {
receivedinQuantity += inventoryLoadingData.stream().mapToInt(DistributionLoadscaninvnEntity::getPackageNub).sum();
//进行订制品和零担的批量签收
handleInventoryLoadingData(inventoryLoadingData, user, distributionLoadscaninvnEntityLists);
}
} catch (Exception e) {
log.info(">>>>>>>>>>>>>>>>>>>e:{}", e.getMessage());
}
//维护签收数量
distributionSignforEntity.setReceivedinQuantity(receivedinQuantity);
@ -5891,7 +5894,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
//查询当前扫描司机是否属于当前配送任务
distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectDriverInfoByDeliveryIdAndDriverId(driverArtery.getId(), distributionDeliveryListEntity.getId());
}else {
} else {
return null;
}
} else {
@ -5943,9 +5946,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
List<DistributionLoadscanEntity> updatePackageLoadingData = new ArrayList<>();
List<Long> packageIds = new ArrayList<>();
for (DistributionLoadscanEntity packageLoadingDatum : packageLoadingData) {
if ((packageLoadingDatum.getLoadedNub() - packageLoadingDatum.getReceivedQuantity()) > 0){
if ((packageLoadingDatum.getLoadedNub() - packageLoadingDatum.getReceivedQuantity()) > 0) {
//存在装车和签收数量不一致,回退签收数量
distributionSignforMapper.deductionSignforPacjageNum(packageLoadingDatum.getDeliveryId(),packageLoadingDatum.getReservationId(),packageLoadingDatum.getReceivedQuantity());
distributionSignforMapper.deductionSignforPacjageNum(packageLoadingDatum.getDeliveryId(), packageLoadingDatum.getReservationId(), packageLoadingDatum.getReceivedQuantity());
}
packageLoadingDatum.setReceivedQuantity(packageLoadingDatum.getLoadedNub());
packageLoadingDatum.setSignforType(LoadScanSigningTypeStatusConstant.sijipiliangqianshou.getValue());
@ -7766,10 +7769,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
DistributionReservationPackageEntity planPackage = distributionReservationPackageService.getPlanPackageByReservationAndCode(reservationId, barcode);
if (!Objects.isNull(planPackage)) {
List<DistributionLoadscanAbnormalEntity> abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.<DistributionLoadscanAbnormalEntity>query().lambda()
.eq(DistributionLoadscanAbnormalEntity::getPackageCode, barcode)
.eq(DistributionLoadscanAbnormalEntity::getGoodsType, 1)
.ne(DistributionLoadscanAbnormalEntity::getAbnormalType, 1)
.eq(DistributionLoadscanAbnormalEntity::getAuditingStatus, LoadingAbnormalAuditingStatusConstant.daishenhe.getValue())
.eq(DistributionLoadscanAbnormalEntity::getPackageCode, barcode)
.eq(DistributionLoadscanAbnormalEntity::getGoodsType, 1)
.ne(DistributionLoadscanAbnormalEntity::getAbnormalType, 1)
.eq(DistributionLoadscanAbnormalEntity::getAuditingStatus, LoadingAbnormalAuditingStatusConstant.daishenhe.getValue())
);
if (!abnormalEntities.isEmpty()) {
//判断是否是本车次的异常操作
@ -7926,7 +7929,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (entityList.size() == 1) {
int sum = entityList.stream().mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum();
//进行已签收数量扣减
distributionSignforMapper.deductionSignforPacjageNum(deliveryId,reservationId,sum);
distributionSignforMapper.deductionSignforPacjageNum(deliveryId, reservationId, sum);
DistributionLoadscanEntity distributionLoadscanEntity = entityList.get(0);
if (parcelNumberDTO.getSigningNum() > distributionReservationZeroPackageEntity.getQuantity()) {
//存在配置要求必须装车才能进行签收
@ -7963,7 +7966,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
receivedQuantity += parcelNumberDTO.getSigningNum();
//进行签收数量的统计
distributionLoadscanService.updateById(distributionLoadscanEntity);
distributionSignforMapper.updateSignforNum(deliveryId,reservationId,distributionLoadscanEntity.getReceivedQuantity());
distributionSignforMapper.updateSignforNum(deliveryId, reservationId, distributionLoadscanEntity.getReceivedQuantity());
pushList.add(distributionLoadscanEntity);
JSONObject jsonObject = new JSONObject();
jsonObject.put("code", zeroParcelListEntity.getOrderCode());
@ -8024,7 +8027,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntity.setSigningTime(now);
distributionLoadscanService.save(loadscanEntity);
//维护签收数量
distributionSignforMapper.updateSignforNum(deliveryId,reservationId,loadscanEntity.getReceivedQuantity());
distributionSignforMapper.updateSignforNum(deliveryId, reservationId, loadscanEntity.getReceivedQuantity());
pushList.add(loadscanEntity);
loadedNumber += loadscanEntity.getLoadedNub();
receivedQuantity += loadscanEntity.getReceivedQuantity();
@ -8507,7 +8510,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//这里就需要进行该客户的异常包件列表进行查询
List<DistributionLoadscanAbnormalVO> loadscanAbnormalVOS = baseMapper.selectNewAbnormalPackageList(signforEntity.getReservationId(), signforEntity.getDeliveryId());
loadscanAbnormalVOS.forEach(p -> {
if (p.getGoodsTypeName().equals("订制品")||p.getGoodsTypeName().equals("零担")){
if (p.getGoodsTypeName().equals("订制品") || p.getGoodsTypeName().equals("零担")) {
switch (p.getOrderPackageLoadingStatus()) {
case "10":
p.setOrderPackageLoadingStatusName(OrderPackageLoadingStatusConstant.weizhuancghe.getName());
@ -8564,13 +8567,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log.info("未知的包件状态 {}", p.getOrderPackageStatus());
}
}else if (p.getGoodsTypeName().equals("库存品")){
} else if (p.getGoodsTypeName().equals("库存品")) {
DisStockListDetailEntity disStockListDetail = disStockListDetailService.getById(p.getPackageId());
DisStockListDetailVO disStockListDetailVO = DistributionDisStockListWrapper.build().entityVO(disStockListDetail);
p.setOrderPackageStatusName(disStockListDetail.getStockLockingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()) ?"已出库":(disStockListDetail.getStockSignfoStatus().equals(InventorySigningStatusConstant.yiqianshou.getValue())?"已签收":"已入库"));
p.setOrderPackageStatusName(disStockListDetail.getStockLockingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()) ? "已出库" : (disStockListDetail.getStockSignfoStatus().equals(InventorySigningStatusConstant.yiqianshou.getValue()) ? "已签收" : "已入库"));
p.setOrderPackageLoadingStatusName(disStockListDetailVO.getLoadingStatusName());
p.setOrderPackageStockupStatusName(disStockListDetailVO.getStockupStatusName());
p.setOrderPackageReservationStatusName(InventoryPackageStatusConstant.quxiao.getValue().equals(disStockListDetail.getStockPackageStatus())?"已取消":"已预约");
p.setOrderPackageReservationStatusName(InventoryPackageStatusConstant.quxiao.getValue().equals(disStockListDetail.getStockPackageStatus()) ? "已取消" : "已预约");
DistributionStockListEntity stockListEntity = distributionStockListService.getById(disStockListDetail.getStockListId());
p.setMaterialName(stockListEntity.getDescriptionGoods());
}
@ -8757,44 +8760,44 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
@Override
public R getDriverPrices(DistributionSignforDTO distributionSignfor) {
String method = "##########################DistributionAsyncServiceImpl.getDriverPrices";
if (Objects.isNull(distributionSignfor.getReservationId())){
log.error(method+"参数缺失:ReservationId");
if (Objects.isNull(distributionSignfor.getReservationId())) {
log.error(method + "参数缺失:ReservationId");
}
//查询签收数据
BasicdataWarehouseEntity warehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(warehouse)){
log.error(method+"查询签收信息错误reservationId:{}",distributionSignfor.getReservationId());
if (Objects.isNull(warehouse)) {
log.error(method + "查询签收信息错误reservationId:{}", distributionSignfor.getReservationId());
}
Integer isStrictLoading = 0;
WarehouseConfigEntity warehouseConfig = warehouseConfigClient.getWarehouseConfig(warehouse.getId());
if (!Objects.isNull(warehouseConfig.getIsStrictLoading())){
if (!Objects.isNull(warehouseConfig.getIsStrictLoading())) {
isStrictLoading = warehouseConfig.getIsStrictLoading();
}
//查询签收数据
DistributionSignforEntity signforEntity = baseMapper.getByReservationId(distributionSignfor.getReservationId());
if (Objects.isNull(signforEntity)){
log.error(method+"查询签收信息错误reservationId:{}",distributionSignfor.getReservationId());
if (Objects.isNull(signforEntity)) {
log.error(method + "查询签收信息错误reservationId:{}", distributionSignfor.getReservationId());
}
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListService.getById(signforEntity.getDeliveryId());
if (Objects.isNull(deliveryListEntity)){
log.error(method+"查询签收信息错误reservationId:{}",distributionSignfor.getReservationId());
if (Objects.isNull(deliveryListEntity)) {
log.error(method + "查询签收信息错误reservationId:{}", distributionSignfor.getReservationId());
}
Map<String, List<DistributionSignPrintEntity>> prices = new HashMap<>();
prices = this.prices(distributionSignfor);
if (deliveryListEntity.getKind().equals("1")) {
BladeUser user = AuthUtil.getUser();
Boolean driver = distributionDeliveryListService.judgeIsDriver(user);
if (!driver){
return Resp.scanFail("当前操作需由司机完成","当前操作需由司机完成");
if (!driver) {
return Resp.scanFail("当前操作需由司机完成", "当前操作需由司机完成");
}
DistributionDeliverySelfEntity deliverySelfEntity = this.getDriver(deliveryListEntity, user, driver);
if (deliverySelfEntity == null){
return Resp.scanFail("当前人无操作权限","当前人无操作权限");
if (deliverySelfEntity == null) {
return Resp.scanFail("当前人无操作权限", "当前人无操作权限");
}
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isStrictLoading){
prices = this.getPricesByDriver(distributionSignfor,deliverySelfEntity);
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isStrictLoading) {
prices = this.getPricesByDriver(distributionSignfor, deliverySelfEntity);
}
}
DistributionSignforEntity one1 = this.getOne(Wrappers.<DistributionSignforEntity>query().lambda()
@ -8810,26 +8813,26 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
@Transactional
public R updatePicturePDA(DistributionSignforDTO distributionSignfor) {
String method = "##########################DistributionAsyncServiceImpl.getDriverPrices";
if (Objects.isNull(distributionSignfor.getReservationId())){
log.error(method+"参数缺失:ReservationId");
if (Objects.isNull(distributionSignfor.getReservationId())) {
log.error(method + "参数缺失:ReservationId");
return R.fail("参数缺失:ReservationId");
}
if (Objects.isNull(distributionSignfor.getMap())){
log.error(method+"参数缺失:Map");
if (Objects.isNull(distributionSignfor.getMap())) {
log.error(method + "参数缺失:Map");
return R.fail("参数缺失:Map");
}
//查询签收数据
DistributionSignforEntity signforEntity = baseMapper.getByReservationId(distributionSignfor.getReservationId());
if (Objects.isNull(signforEntity)){
log.error(method+"查询签收信息错误reservationId:{}",distributionSignfor.getReservationId());
if (Objects.isNull(signforEntity)) {
log.error(method + "查询签收信息错误reservationId:{}", distributionSignfor.getReservationId());
return R.fail("查询签收信息错误");
}
if (SignforStatusConstant.yiqianshou.getValue().equals(signforEntity.getSigningStatus())){
return Resp.scanFail("已完成复核","已完成复核");
if (SignforStatusConstant.yiqianshou.getValue().equals(signforEntity.getSigningStatus())) {
return Resp.scanFail("已完成复核", "已完成复核");
}
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListService.getById(signforEntity.getDeliveryId());
if (Objects.isNull(deliveryListEntity)){
log.error(method+"查询配送信息错误reservationId:{}",distributionSignfor.getReservationId());
if (Objects.isNull(deliveryListEntity)) {
log.error(method + "查询配送信息错误reservationId:{}", distributionSignfor.getReservationId());
return R.fail("查询配送信息错误");
}
Map<String, List<DistributionSignPrintDTO>> map = distributionSignfor.getMap();
@ -8837,16 +8840,16 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//查询当前操作司机
BladeUser user = AuthUtil.getUser();
Boolean driver = distributionDeliveryListService.judgeIsDriver(user);
if (deliveryListEntity.getKind().equals("1")){
if (deliveryListEntity.getKind().equals("1")) {
if (!driver){
return Resp.scanFail("当前操作需由司机完成","当前操作需由司机完成");
if (!driver) {
return Resp.scanFail("当前操作需由司机完成", "当前操作需由司机完成");
}
DistributionDeliverySelfEntity deliverySelfEntity = this.getDriver(deliveryListEntity, user, driver);
if (deliverySelfEntity == null){
return Resp.scanFail("当前人无操作权限","当前人无操作权限");
if (deliverySelfEntity == null) {
return Resp.scanFail("当前人无操作权限", "当前人无操作权限");
}
this.getDriver(deliveryListEntity,AuthUtil.getUser(),driver);
this.getDriver(deliveryListEntity, AuthUtil.getUser(), driver);
//针对之前该司机上传的图片进行全部删除
//查询该司机已有的图片信息
List<DistributionSignPrintEntity> list = iDistributionSignPrintService.list(Wrappers.<DistributionSignPrintEntity>query().lambda()
@ -8861,8 +8864,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
//对该司机上传图片进行保存
try {
map.forEach((k,v)->{
if (!Objects.isNull(v)){
map.forEach((k, v) -> {
if (!Objects.isNull(v)) {
for (DistributionSignPrintDTO distributionSignPrintDTO : v) {
DistributionSignPrintEntity distributionSignPrint = new DistributionSignPrintEntity();
BeanUtils.copyProperties(distributionSignPrintDTO, distributionSignPrint);
@ -8876,11 +8879,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
}
});
}catch (Exception e){
log.error(""+e);
} catch (Exception e) {
log.error("" + e);
}
}else {
} else {
//删除全部 只保留一个文员操作
List<DistributionSignPrintEntity> list = iDistributionSignPrintService.list(Wrappers.<DistributionSignPrintEntity>query().lambda()
.eq(DistributionSignPrintEntity::getReservationId, signforEntity.getReservationId())
@ -8889,7 +8892,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
iDistributionSignPrintService.deleteLogic(list.stream().map(DistributionSignPrintEntity::getId).collect(Collectors.toList()));
}
//对该文员上传图片进行保存
map.forEach((k,v)->{
map.forEach((k, v) -> {
for (DistributionSignPrintDTO distributionSignPrintDTO : v) {
DistributionSignPrintEntity distributionSignPrint = new DistributionSignPrintEntity();
BeanUtils.copyProperties(distributionSignPrintDTO, distributionSignPrint);
@ -8928,7 +8931,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return collect;
}
private void createdRefuseSignfor(BasicdataWarehouseEntity myCurrentWarehouse, DistributionDeliveryListEntity deliveryListEntity, DistributionReservationEntity reservationEntity, DistributionDeliverySelfEntity deliverySelfEntity, DistributionParcelListEntity parcelListEntity, Long abnormalId) {

Loading…
Cancel
Save