Browse Source

扫描、一键推送梦天工厂签收扫描记录

single_db
汤建军 1 year ago
parent
commit
7630e22369
  1. 8
      blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/feign/IMtOrderMainClinet.java
  2. 6
      blade-service/logpm-distribution/pom.xml
  3. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java
  4. 24
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  5. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  6. 3
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java

8
blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/feign/IMtOrderMainClinet.java

@ -32,9 +32,11 @@ public interface IMtOrderMainClinet {
*/
@GetMapping(TOP)
R sendOrderPackageScan(@RequestParam String orderPackageCode,
@RequestParam String operationTime,
@RequestParam String distributionContactId,
@RequestParam String destinationWarehouse) throws NoSuchAlgorithmException, JsonProcessingException;
@RequestParam String operationTime,
@RequestParam String distributionContactId,
@RequestParam String distributionContactCode,
@RequestParam String destinationWarehouse
) throws NoSuchAlgorithmException, JsonProcessingException;
/**

6
blade-service/logpm-distribution/pom.xml

@ -110,6 +110,12 @@
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>logpm-factory-api</artifactId>
<version>${bladex.project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>

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

@ -271,4 +271,10 @@ public interface IDistributionAsyncService {
* @param id
*/
void handlPakcage(List<Long> packageIds, Long id);
/**
* 推送信息到工厂
* @param distributionParcelListEntity
*/
void sendFactory(DistributionParcelListEntity distributionParcelListEntity,String signingTime,Long reservationId,String reservationCode,Long warehouseId);
}

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

@ -4,6 +4,7 @@ package com.logpm.distribution.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionLoadingNumDTO;
@ -18,6 +19,7 @@ import com.logpm.distribution.vo.DistributionParcelNumberVO;
import com.logpm.distribution.vo.DistributionStockPackageVO;
import com.logpm.distribution.vo.DistributionStockupSelfVO;
import com.logpm.distribution.vo.DistrilbutionBillStockVO;
import com.logpm.factory.mt.feign.IMtOrderMainClinet;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
@ -46,6 +48,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -90,7 +93,8 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
private final IBasicdataWarehouseClient warehouseClient;
private final IDistributionReservationZeroPackageService reservationZeroPackageService;
private final IDistributionParcelNumberService distributionParcelNumberService;
// private final IDistributionParcelNumberService distributionParcelNumberService;
private final IMtOrderMainClinet orderMainClinet;
@Override
@Async
@ -1385,6 +1389,24 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
}
@Override
public void sendFactory(DistributionParcelListEntity distributionParcelListEntity,String signingTime,Long reservationId,String reservationCode,Long warehouseId) {
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(distributionParcelListEntity.getStockArticleId());
if (Func.isNotEmpty(stockArticleEntity)){
switch (stockArticleEntity.getBrand()){
case "梦天":
//推送到梦天
try {
orderMainClinet.sendOrderPackageScan(distributionParcelListEntity.getOrderPackageCode(),signingTime,reservationId.toString(),reservationCode,warehouseId.toString());
} catch (Exception e) {
throw new RuntimeException(e);
}
break;
}
}
}
/**
* 维护配送数量和状态
*

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

@ -644,7 +644,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (Objects.isNull(myCurrentWarehouse)) {
throw new CustomerException(403, "仓库信息不能为空");
}
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distrilbutionloadingscanDTO.getReservationId());
if (Func.isEmpty(distributionReservationEntity)){
log.error("########无效的预约单,reservationId:{}",distrilbutionloadingscanDTO.getReservationId());
return R.fail("服务器正忙!!");
}
List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode())
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
@ -658,7 +662,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
return Resp.scanFail("此码不是订制品", "此码不是订制品");
}
String signingTime = simpleDateFormat.format(new Date());
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(distrilbutionloadingscanDTO.getReservationId());
//查询该客户是否存在该包件信息
List<DistributionParcelListEntity> collect = parcelListEntityList.stream().filter(p -> p.getOrderPackageCode().equals(distrilbutionloadingscanDTO.getBarcode())).collect(Collectors.toList());
@ -675,7 +679,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
//存在装车记录,进行修改即可
//进行签收记录数据的维护
loadscanEntity.setSigningTime(simpleDateFormat.format(new Date()));
loadscanEntity.setSigningTime(signingTime);
loadscanEntity.setSignforState(2);
loadscanEntity.setReceivedQuantity(loadscanEntity.getLoadedNub());
loadscanEntity.setSigningUser(AuthUtil.getUser().getNickName());
@ -729,7 +733,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntity.setScanTime(new Date());
distributionLoadscanEntity.setPackageId(collect.get(0).getId());
distributionLoadscanEntity.setOrderPackageCode(distrilbutionloadingscanDTO.getBarcode());
distributionLoadscanEntity.setSigningTime(simpleDateFormat.format(new Date()));
distributionLoadscanEntity.setSigningTime(signingTime);
distributionLoadscanEntity.setReceivedQuantity(collect.get(0).getQuantity());
distributionLoadscanEntity.setReservationId(distrilbutionloadingscanDTO.getReservationId());
distributionLoadscanEntity.setIsSignfor(2);
@ -759,6 +763,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
warehouseUpdownTypeClient.downPackageOrDelTray(collect.get(0).getOrderPackageCode(), myCurrentWarehouse.getId());
distributionAsyncService.checkSignStatus(distributionLoadscanEntity.getPackageId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getDeliveryId());
}
distributionAsyncService.sendFactory(collect.get(0),signingTime,distributionReservationEntity.getId(),distributionReservationEntity.getReservationCode(),myCurrentWarehouse.getId());
//TODO 这里就需要一个异步的包件状态维护方法
} else if (Func.isEmpty(collect)) {
//这里就需要对该包件信息是否属于该配送计划进行判定。如果属于该配送计划则是串货。不是那么则需要提示是否异常签收或者返回的操作
@ -2244,7 +2249,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
}
}
String signingTime = simpleDateFormat.format(new Date());
List<Long> packageIds = new ArrayList<>();
if (Func.isNotEmpty(parcelListEntityList)) {
for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) {
@ -2294,7 +2299,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntity.setReceivedQuantity(parcelListEntity.getQuantity());
loadscanEntity.setOneClick(2);
loadscanEntity.setOneQclick(2);
loadscanEntity.setSigningTime(simpleDateFormat.format(new Date()));
loadscanEntity.setSigningTime(signingTime);
if (distributionSignfor.getIsClerk()) {
loadscanEntity.setMsg("文员一键签收数据补录");
} else {
@ -2328,7 +2333,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntities.setSigningUser(user.getUserName());
loadscanEntities.setSigningUserId(user.getUserId());
loadscanEntities.setReceivedQuantity(parcelListEntity.getQuantity());
loadscanEntities.setSigningTime(simpleDateFormat.format(new Date()));
loadscanEntities.setSigningTime(signingTime);
distributionLoadscanService.updateById(loadscanEntities);
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntity.getId());
//更新签收数量
@ -2338,8 +2343,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionAsyncService.checkSignStatus(loadscanEntities.getPackageId(), loadscanEntities.getReservationId(), loadscanEntities.getDeliveryId());
}
}
distributionAsyncService.sendFactory(parcelListEntity,signingTime,reservationEntity.getId(),reservationEntity.getReservationCode(),myCurrentWarehouse.getId());
packageIds.add(parcelListEntity.getId());
}
if (Func.isNotEmpty(packageIds)){
distributionAsyncService.handlPakcage(packageIds,myCurrentWarehouse.getId());
}

3
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java

@ -26,10 +26,11 @@ public class MtOrderMainClinet implements IMtOrderMainClinet {
@Override
@GetMapping(TOP)
public R sendOrderPackageScan(String orderPackageCode, String operationTime, String distributionContactId, String destinationWarehouse) throws NoSuchAlgorithmException, JsonProcessingException {
public R sendOrderPackageScan(String orderPackageCode, String operationTime, String distributionContactId, String distributionContactCode, String destinationWarehouse) throws NoSuchAlgorithmException, JsonProcessingException {
return mtFactoryDataService.qianshouScanForNewSystem(orderPackageCode,operationTime,distributionContactId,destinationWarehouse);
}
@Override
@PostMapping(SENDRECEIVEINFOBYNEWSYSTEM)
public R sendReceiveInfoByNewSystem(MtReceiveDTO mtReceiveDTO) throws NoSuchAlgorithmException, JsonProcessingException {

Loading…
Cancel
Save