Browse Source

备货区库位零担订单扫描

chenglong
汤建军 1 year ago
parent
commit
4a64d93ceb
  1. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java
  2. 7
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/UpDownStockupAreaVO.java
  3. 1
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java
  4. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java
  5. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java
  6. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  7. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java
  8. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  9. 79
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java
  10. 8
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java
  11. 27
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java

4
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java

@ -19,6 +19,7 @@ package com.logpm.distribution.feign;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.vo.UpDownStockupAreaVO;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.mp.support.BladePage;
import org.springframework.cloud.openfeign.FeignClient;
@ -98,6 +99,9 @@ public interface IDistributionStockArticleClient {
@GetMapping(API_PREFIX + "/findZeroByOrderCodeAndWarehouseId")
DistributionStockArticleEntity findZeroByOrderCodeAndWarehouseId(@RequestParam String orderCode, @RequestParam Long warehouseId);
@GetMapping(API_PREFIX + "/findUpDownStockupZeroByOrderCodeAndWarehouseId")
UpDownStockupAreaVO findUpDownStockupZeroByOrderCodeAndWarehouseId(@RequestParam String orderCode, @RequestParam Long warehouseId);
@GetMapping(API_PREFIX + "/findStockArticleByCodeAndMarketAndWarehouseId")
List<DistributionStockArticleEntity> findStockArticleByCodeAndMarketAndWarehouseId(@RequestParam String incomingBatch,@RequestParam String marketNames,@RequestParam Long warehouseId);

7
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/UpDownStockupAreaVO.java

@ -25,7 +25,10 @@ public class UpDownStockupAreaVO {
private String goodsType;
private String goodsName;
private String orderCode;
private String materielCode;
private String materielName;
@ -34,6 +37,10 @@ public class UpDownStockupAreaVO {
private Integer num;
private Integer enterNum;
private String waybillCode;
}

1
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java

@ -688,7 +688,6 @@ public class AftersalesWorkOrderController extends BladeController {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(ObjectUtils.isNotNull(myCurrentWarehouse)){
aftersalesWorkOrderDTO.setWarehouseId(myCurrentWarehouse.getId());
}
try {
IPage<AftersalesWorkOrderVO> list= aftersalesWorkOrderService.getPendingWorkOrder(aftersalesWorkOrderDTO,Condition.getPage(query));

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java

@ -25,6 +25,7 @@ import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.service.IDistributionStockArticleService;
import com.logpm.distribution.vo.UpDownStockupAreaVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException;
@ -179,6 +180,15 @@ public class DistributionStockArticleClient implements IDistributionStockArticle
return distributionStockArticleService.findZeroByOrderCodeAndWarehouseId(orderCode,warehouseId);
}
/**
* @param orderCode
* @param warehouseId
* @return
*/
@Override
public UpDownStockupAreaVO findUpDownStockupZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId) {
return distributionStockArticleService.findUpDownStockupZeroByOrderCodeAndWarehouseId(orderCode,warehouseId);
}
@Override

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java

@ -22,10 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.DistributionStockArticleOweDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.vo.DistributionParcelNumberVO;
import com.logpm.distribution.vo.DistributionStockArticleGroundingVO;
import com.logpm.distribution.vo.DistributionStockArticleQRCodeVO;
import com.logpm.distribution.vo.DistributionStockArticleVO;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.queryOrderVO;
import org.apache.ibatis.annotations.Param;
@ -165,4 +162,12 @@ public interface DistributionStockArticleMapper extends BaseMapper<DistributionS
* @return
*/
Integer augmentDeliveryQuantity(@Param("orderId") Long stockArticleId,@Param("reservationNum") Integer reservationNum);
/**
* 查询备货库位上架
* @param orderCode
* @param warehouseId
* @return
*/
UpDownStockupAreaVO findUpDownStockupZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId);
}

21
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml

@ -1028,5 +1028,26 @@
and ldpl.third_product like concat('%',#{param.thirdProduct},'%')
</if>
</select>
<select id="findUpDownStockupZeroByOrderCodeAndWarehouseId"
resultType="com.logpm.distribution.vo.UpDownStockupAreaVO">
SELECT
ldsa.waybill_number AS waybillCode,
0 AS enterNum,
ldsa.mall_id AS marketId,
ldsa.mall_name AS marketName,
1 AS associationType,
ldsa.order_code AS associationValue,
ldsa.order_code AS orderCode,
ldsa.id AS orderId,
ldsa.id AS associationId,
ldsa.total_number AS num,
2 AS goods_type,
#{warehouseId} AS warehouseId,
ldsa.description_goods AS goodsName
FROM
logpm_distribution_stock_article AS ldsa
WHERE
ldsa.order_code = #{orderCode} AND ldsa.warehouse_id = #{warehouseId}
</select>
</mapper>

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

@ -204,4 +204,12 @@ public interface IDistributionStockArticleService extends BaseService<Distributi
*/
void maintenanceOrderInfo(String orderCodes, Long warehouseId);
/**
* 查询备货库位上架的零担信息
* @param orderCode
* @param warehouseId
* @return
*/
UpDownStockupAreaVO findUpDownStockupZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId);
}

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -1483,7 +1483,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
@Override
@Transactional
public void maintenanceOrderInfo(String orderCodes, Long warehouseId) {
public synchronized void maintenanceOrderInfo(String orderCodes, Long warehouseId) {
String method = "###############方法:maintenanceOrderInfo,";
if (Func.isEmpty(orderCodes)) {
log.error(method + "参数缺失orderCodes:{}", orderCodes);
@ -1574,6 +1574,17 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
}
}
/**
* @param orderCode
* @param warehouseId
* @return
*/
@Override
public UpDownStockupAreaVO findUpDownStockupZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId) {
return baseMapper.findUpDownStockupZeroByOrderCodeAndWarehouseId(orderCode,warehouseId);
}
@Override
public DistributionStockArticleEntity findZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId) {

79
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java

@ -155,7 +155,7 @@ public class WarehouseUpdownStockupAreaApiController {
@ResponseBody
@GetMapping("/upShelfPackageData")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "备货库位上架包条级别扫描接口", notes = "传入trayTypeDTO")
@ApiOperation(value = "查询库位数据", notes = "传入trayTypeDTO")
public R upShelfPackageData(@RequestParam Long allocationId ) {
String method = "###########upShelfScanPackage: ";
log.info(method + "查询库位数据 allocationId={}", allocationId);
@ -274,7 +274,84 @@ public class WarehouseUpdownStockupAreaApiController {
@ResponseBody
@PostMapping("/scanZeroStockArticle")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "零担订单扫描接口", notes = "传入trayTypeDTO")
public R scanZeroStockArticle(@RequestBody UpdownTypeDTO updownTypeDTO ) {
String method = "###########scanZeroStockArticle: ";
log.info(method + "零担订单扫描接口 updownTypeDTO={}", updownTypeDTO);
Long allocationId = updownTypeDTO.getAllocationId();//库位编码
String zeroStockArticleCode = updownTypeDTO.getOrderCode();
try{
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息不能为空");
return R.fail(403,"仓库信息不能为空");
}
if(StringUtil.isBlank(zeroStockArticleCode)){
log.warn(method+"扫描异常"+zeroStockArticleCode);
return R.fail(403,"无处理数据");
}
//查询该库位的货物信息
return warehouseUpdownStockupAreaService.scanZeroStockArticle(zeroStockArticleCode,myCurrentWarehouse.getId());
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常,联系管理员",e);
return R.fail(500,"系统异常,联系管理员");
}
}
@ResponseBody
@PostMapping("/upShelfZeroStockArticle")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "上架库存品维度", notes = "传入trayTypeDTO")
public R upShelfZeroStockArticle(@RequestBody UpdownTypeDTO updownTypeDTO ) {
String method = "###########upShelfZeroStockArticle: ";
log.info(method + "上架零担 updownTypeDTO={}", updownTypeDTO);
Long allocationId = updownTypeDTO.getAllocationId();//库位编码
List<UpShelfStockDTO> upShelfStockList = updownTypeDTO.getUpShelfStockList();
try{
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息不能为空");
return R.fail(403,"仓库信息不能为空");
}
int size = upShelfStockList.size();
if(size == 0 ){
log.warn(method+"没有处理的数据");
return R.fail(403,"无处理数据");
}
for (UpShelfStockDTO dto:upShelfStockList){
Integer enterNum = dto.getEnterNum();
if(Objects.isNull(enterNum) || enterNum == 0){
log.warn(method+"请输入正确的数量");
return R.fail(403,"请输入正确的数量");
}
}
if(Objects.isNull(allocationId)){
log.warn(method+"库位信息不能为空 allocationId={}",allocationId);
return R.fail(403,"库位信息不能为空");
}
//查询该库位的货物信息
return warehouseUpdownStockupAreaService.upShelfStockList(upShelfStockList,allocationId,myCurrentWarehouse.getId());
}catch (CustomerException e){
log.warn(e.message);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常,联系管理员",e);
return R.fail(500,"系统异常,联系管理员");
}
}
}

8
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java

@ -93,4 +93,12 @@ public interface IWarehouseUpdownStockupAreaService extends BaseService<Warehous
* @return
*/
R upShelfStockList(List<UpShelfStockDTO> upShelfStockList, Long allocationId, Long warehouseId);
/**
* 扫描零担订单
* @param zeroStockArticleCode
* @return
*/
R scanZeroStockArticle(String zeroStockArticleCode,Long warehouseId);
}

27
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java

@ -36,6 +36,7 @@ import com.logpm.warehouse.bean.Resp;
import com.logpm.warehouse.dto.UpShelfPackageDTO;
import com.logpm.warehouse.dto.UpShelfStockDTO;
import com.logpm.warehouse.dto.UpStockupAreaPackageDTO;
import com.logpm.warehouse.dto.UpdownZeroOrderDTO;
import com.logpm.warehouse.entity.*;
import com.logpm.warehouse.feign.WarehouseGoodsAllocationClient;
import com.logpm.warehouse.mapper.WarehouseUpdownStockupAreaMapper;
@ -43,6 +44,7 @@ import com.logpm.warehouse.service.*;
import com.logpm.warehouse.vo.*;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.constant.common.IsOrNoConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
@ -505,6 +507,31 @@ public class WarehouseUpdownStockupAreaServiceImpl extends BaseServiceImpl<Wareh
return Resp.scanSuccess(msg,"成功上架"+upShelfNum+"件");
}
/**
* @param zeroStockArticleCode
* @return
*/
@Override
public R scanZeroStockArticle(String zeroStockArticleCode,Long warehouseId) {
String method = "####################WarehouseUpdownStockupAreaServiceImpl.scanZeroStockArticle";
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(zeroStockArticleCode,warehouseId);
if (Func.isEmpty(stockArticleEntity)){
log.error(method+"查询订单失败");
return R.fail("请扫描正确订单");
}
if (stockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())){
log.error(method+"此订单不是零担类型");
return R.fail("此订单不是零担类型,请扫描包条进行上架");
}
//满足条件的零担订单,这里需要进行零担信息整理后返回
UpDownStockupAreaVO upDownStockupZeroByOrderCodeAndWarehouseId = distributionStockArticleClient.findUpDownStockupZeroByOrderCodeAndWarehouseId(zeroStockArticleCode, warehouseId);
if (Func.isEmpty(upDownStockupZeroByOrderCodeAndWarehouseId)){
log.error(method+"查询零担订单失败");
return R.fail("请扫描正确订单");
}
return R.data(upDownStockupZeroByOrderCodeAndWarehouseId);
}
private WarehouseUpdownStockupAreaEntity createdNewUpShelfInventory(Long allocationId, Long warehouseId, UpShelfStockDTO upShelfStockDTO, WarehouseUpdownStockupAreaEntity updownTypeEntity, Long goodsAreaId, BasicdataGoodsAreaEntity goodsAreaEntity, Long goodsShelfId, BasicdataGoodsShelfEntity goodsShelfEntity, BasicdataGoodsAllocationEntity goodsAllocationEntity) {
WarehouseUpdownStockupAreaEntity updownStockupAreaEntity = new WarehouseUpdownStockupAreaEntity();
updownStockupAreaEntity.setWarehouseId(warehouseId);

Loading…
Cancel
Save