Browse Source

盘点任务库存品、订单、零担订单、包件扫描接口

training
kilo 1 year ago
parent
commit
d08ca7d549
  1. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java
  2. 8
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java
  3. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java
  4. 1
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailChildEntity.java
  5. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataCarrierService.java
  6. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java
  7. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java
  8. 17
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java
  9. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java
  10. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  11. 22
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java
  12. 28
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TaskSearchDTO.java
  13. 15
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java
  14. 9
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml
  15. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java
  16. 153
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java

@ -87,4 +87,6 @@ public interface IDistributionParcelListClient {
@GetMapping(API_PREFIX+"/SumEntityZkByOrderId")
Integer SumEntityByOrderId(@RequestParam Long orderId,@RequestParam Long warehouseId);
}

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

@ -16,6 +16,8 @@
*/
package com.logpm.distribution.feign;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.mp.support.BladePage;
@ -91,6 +93,12 @@ public interface IDistributionStockArticleClient {
List<DistributionStockArticleEntity> findListByWaybillNumberAndWarehouseId(@RequestParam String waybillNumber, @RequestParam Long warehouseId);
@GetMapping(API_PREFIX + "/updateGroundingStatus")
void updateGroundingStatus(@RequestParam String orderCode, @RequestParam String groundingStatus, @RequestParam Long warehouseId);
@GetMapping(API_PREFIX + "/findZeroByOrderCodeAndWarehouseId")
DistributionStockArticleEntity findZeroByOrderCodeAndWarehouseId(@RequestParam String orderCode, @RequestParam Long warehouseId);
@GetMapping(API_PREFIX + "/findStockArticleByCodeAndMarket")
DistributionStockArticleEntity findStockArticleByCodeAndMarketAndWarehouseId(@RequestParam String orderCode,@RequestParam List<String> marketNames,@RequestParam Long warehosueId);
}

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java

@ -112,6 +112,9 @@ public interface IDistributionStockListClient {
@GetMapping(API_PREFIX+"/getListByMarketIdAndMaterialName")
List<DistributionStockListEntity> getListByMarketIdAndMaterialName(@RequestParam("marketId") Long marketId, @RequestParam("materialName") String materialName, @RequestParam("warehouseId") Long warehouseId);
@GetMapping(API_PREFIX+"/getListByMarketIdAndMaterialName")
List<DistributionStockListEntity> getStockListByWarehouseIdAndMarketAndStockListInfo(String incomingBatch, List<String> marketNames, Long warehouseId);
// /**
// * 修改某个客户信息及物品信息

1
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailChildEntity.java

@ -82,4 +82,5 @@ public class QuestDetailChildEntity extends TenantEntity {
@ApiModelProperty(value = "仓库id")
private Long warehouseId;
}

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataCarrierService.java

@ -55,4 +55,6 @@ public interface IBasicdataCarrierService extends BaseService<BasicdataCarrierEn
* @return
*/
List<BasicdataCarrierVO> selectBasicdataCarrierDictionary();
}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java

@ -59,6 +59,7 @@ public class DistributionParcelListClient implements IDistributionParcelListClie
.eq(ObjectUtils.isNotNull(parcelListEntity.getOrderPackageCode()),DistributionParcelListEntity::getOrderPackageCode,parcelListEntity.getOrderPackageCode())
.eq(ObjectUtils.isNotNull(parcelListEntity.getId()),DistributionParcelListEntity::getId,parcelListEntity.getId())
.eq(ObjectUtils.isNotNull(parcelListEntity.getWarehouseId()),DistributionParcelListEntity::getWarehouseId,parcelListEntity.getWarehouseId())
.eq(ObjectUtils.isNotNull(parcelListEntity.getStockArticleId()),DistributionParcelListEntity::getStockArticleId,parcelListEntity.getStockArticleId())
);
}

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

@ -16,6 +16,7 @@
*/
package com.logpm.distribution.feign;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DistributionParcelListEntity;
@ -173,4 +174,11 @@ public class DistributionStockArticleClient implements IDistributionStockArticle
return distributionStockArticleService.findZeroByOrderCodeAndWarehouseId(orderCode,warehouseId);
}
@Override
public DistributionStockArticleEntity findStockArticleByCodeAndMarketAndWarehouseId(String code, List<String> marketNames,Long warehouseId) {
return distributionStockArticleService.findStockArticleByCodeAndMarketAndWarehouseId(code,marketNames,warehouseId);
}
}

17
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java

@ -16,8 +16,10 @@
*/
package com.logpm.distribution.feign;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.distribution.service.IDistributionStockListService;
import com.logpm.distribution.vo.DistributionStockListVO;
@ -26,6 +28,7 @@ import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@ -156,5 +159,19 @@ public class DistributionStockListClient implements IDistributionStockListClient
return distributionStockListService.getListByMarketIdAndMaterialName(marketId,materialName,warehouseId);
}
@Override
public List<DistributionStockListEntity> getStockListByWarehouseIdAndMarketAndStockListInfo(String incomingBatch, List<String> marketNames, Long warehouseId) {
LambdaQueryWrapper<DistributionStockListEntity> stockListEntityLambdaQueryWrapper = Wrappers.<DistributionStockListEntity>query().lambda();
if (Func.isNotEmpty(incomingBatch)){
stockListEntityLambdaQueryWrapper.like(DistributionStockListEntity::getIncomingBatch,incomingBatch).or().like(DistributionStockListEntity::getMarketName,incomingBatch);
}
if (Func.isNotEmpty(marketNames)){
stockListEntityLambdaQueryWrapper.in(DistributionStockListEntity::getMarketName,marketNames);
}
stockListEntityLambdaQueryWrapper.eq(DistributionStockListEntity::getWarehouseId,warehouseId);
return distributionStockListService.list(stockListEntityLambdaQueryWrapper);
}
}

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

@ -17,6 +17,7 @@
package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.dto.app.queryOrderDTO;
@ -171,4 +172,13 @@ public interface IDistributionStockArticleService extends BaseService<Distributi
* @return
*/
List<DistributionParcelNumberVO> getZeroOrderDetail(Long id);
/**
*
* @param code
* @param marketNames
* @return
*/
DistributionStockArticleEntity findStockArticleByCodeAndMarketAndWarehouseId(String code, List<String> marketNames,Long warehouseId);
}

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

@ -1058,6 +1058,21 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
return parcelNumberVOS;
}
@Override
public DistributionStockArticleEntity findStockArticleByCodeAndMarketAndWarehouseId(String code, List<String> marketNames,Long warehouseId) {
if (Func.isEmpty(warehouseId)){
return null;
}
LambdaQueryWrapper<DistributionStockArticleEntity> lambda = Wrappers.<DistributionStockArticleEntity>query().lambda().eq(DistributionStockArticleEntity::getAcceptWarehouseId,warehouseId);
if (Func.isNotEmpty(code)){
lambda.like(DistributionStockArticleEntity::getOrderCode,code);
}
if (Func.isNotEmpty(marketNames) && marketNames.size()>0){
lambda.in(DistributionStockArticleEntity::getMallName,code);
}
return this.getOne(lambda);
}
@Override
public DistributionStockArticleEntity findZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId) {

22
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java

@ -20,6 +20,7 @@ import org.springblade.common.exception.CustomerException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.*;
@ -69,6 +70,27 @@ public class WarehouseTaskApiController {
return R.data(pages);
}
/**
* 合同号扫描
*/
@PostMapping("/queryContract")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "合同号列表", notes = "code,type")
public R queryContract(@RequestBody TaskSearchDTO taskSearchDTO) {
String method = "###########queryContract: ";
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(403,"仓库信息为空");
}
taskSearchDTO.setWarehouseId(myCurrentWarehouse.getId());
R r= taskQuestService.queryContract(taskSearchDTO);
return r;
}
/**
* 托盘列表
*/

28
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TaskSearchDTO.java

@ -42,7 +42,11 @@ public class TaskSearchDTO {
@ApiModelProperty(value = "任务id")
private Long questId;
@ApiModelProperty(value = "搜索code")
private String trayCode;
private String code;
@ApiModelProperty(value = "输入内容")
private String incomingBatch;
@ApiModelProperty(value = "托盘ID")
private Long trayId;
@ -51,14 +55,30 @@ public class TaskSearchDTO {
* type
*/
@ApiModelProperty(value = "type(1-手动输入,2-扫描)")
private String type;
private Integer type;
/**
* 盘点任务Id
* goodsType 合同号类型
*/
@ApiModelProperty(value = "盘点任务Id")
@ApiModelProperty(value = "合同号类型; 1- 订制品、 2- 零担、3- 库存品")
private String goodsType;
/**
* goodsType 合同号类型
*/
@ApiModelProperty(value = "合同号类型; 1- 订制品、 2- 零担、3- 库存品")
private Long taskId;
/**
* 列表存在订单ID
*/
@ApiModelProperty(value = "列表存在订单ID")
private String stockArticleIds;
private String trayCode;
/**
* 商场名称
*/

15
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.java

@ -18,6 +18,7 @@ package com.logpm.warehouse.mapper;
import com.logpm.warehouse.dto.TaskSearchDTO;
import com.logpm.warehouse.entity.TaskQuestEntity;
import com.logpm.warehouse.entity.WarehouseTrayEntity;
import com.logpm.warehouse.vo.*;
import com.logpm.warehouse.excel.TaskQuestExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -61,4 +62,18 @@ public interface TaskQuestMapper extends BaseMapper<TaskQuestEntity> {
void setSqlMode();
List<TaskTrayVO> selecttrayList(IPage<TaskTrayVO> page,@Param("param") TaskSearchDTO taskSearchDTO,@Param("collect") List<Long> collect);
/**
* 查询包件托盘码
* @param id
*/
WarehouseTrayEntity selectTratInfo(@Param("id") Long id,@Param("warehouseId") Long warehouseId);
/**
*
* @param id
* @param warehouseId
* @return
*/
List<WarehouseTrayEntity> selectZeroOrderTratInfo(@Param("stockArticleId") Long id,@Param("warehouseId") Long warehouseId);
}

9
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml

@ -130,6 +130,15 @@
</where>>
GROUP BY lqd.tray_id
</select>
<select id="selectTratInfo" resultType="com.logpm.warehouse.entity.WarehouseTrayEntity">
select lwtg.id,lwtg.tray_code AS palletCode FROM logpm_warehouse_tray_goods AS lwtg
WHERE lwtg.association_id = #{id}
and association_type = '3'
and warehouse_id=#{warehouseId}
</select>
<select id="selectZeroOrderTratInfo" resultType="com.logpm.warehouse.entity.WarehouseTrayEntity">
select id,tray_code AS palletCode From logpm_warehouse_tray_goods WHERE association_type = '1' AND association_id = #{stockArticleId} and warehouse_id =#{warehouseId}
</select>
</mapper>

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java

@ -76,6 +76,13 @@ public interface ITaskQuestService extends BaseService<TaskQuestEntity> {
*/
R selecttrayList(IPage<TaskTrayVO> page, TaskSearchDTO taskSearchDTO);
/**
* 合同号扫描
* @param taskSearchDTO
* @return
*/
R queryContract(TaskSearchDTO taskSearchDTO);
List<QuestDetailEntity> allocationDetailByPackage(TaskSearchDTO taskSearchDTO);
List<QuestDetailEntity> allocationDetailByZero(TaskSearchDTO taskSearchDTO);

153
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java

@ -16,6 +16,7 @@
*/
package com.logpm.warehouse.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@ -43,6 +44,8 @@ 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.constant.orderpackage.OrderPackageStatusConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
@ -54,6 +57,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@ -94,6 +99,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
@Override
public IPage<TaskQuestVO> selectTaskQuestPage(IPage<TaskQuestVO> page, TaskQuestVO taskQuest) {
//获取当前登录人仓库
@ -222,7 +228,21 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
public IPage<TaskContractVO> selectcontractList(IPage<TaskContractVO> page, TaskSearchDTO taskSearchDTO) {
List<Long> collect = this.getmyWarehouseList();
baseMapper.setSqlMode();
String goodsType = taskSearchDTO.getGoodsType();
switch (goodsType){
case "1":
//订制品
List<TaskContractVO> list = baseMapper.selectcontractList(page, taskSearchDTO, collect);
break;
case "2":
//零担
break;
case "3":
//库存品
break;
}
List<TaskContractVO> list = baseMapper.selectcontractList(page, taskSearchDTO, collect);
if (!list.isEmpty()) {
for (TaskContractVO taskContractVO : list) {
Long orderId = taskContractVO.getOrderId();
@ -305,6 +325,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
}
/**
* 出来托盘信息
* @return
@ -953,6 +974,138 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
}
@Override
@Transactional
public R queryContract(TaskSearchDTO taskSearchDTO) {
String goodsType = taskSearchDTO.getGoodsType();
Integer type = taskSearchDTO.getType();
if (type == 1){
String code = taskSearchDTO.getCode();
if (Func.isEmpty(code)){
log.error("####################订单合同号为空");
return Resp.scanFail("操作失败","请填写正确合同号");
}
//查询包件 赋予到订单上
List<DistributionParcelListEntity> entityListByOrderCode = distributionParcelListClient.findEntityListByOrderCode(taskSearchDTO.getCode(), taskSearchDTO.getWarehouseId());
if (Func.isNotEmpty(entityListByOrderCode)){
DistributionParcelListEntity parcelListEntity = entityListByOrderCode.get(0);
taskSearchDTO.setCode(parcelListEntity.getOrderCode());
}
}
String incomingBatch = taskSearchDTO.getIncomingBatch();
if (Func.isEmpty(incomingBatch)){
log.error("####################订单合同号为空");
return Resp.scanFail("操作失败","请输入正确合同号");
}
Long taskQuestId = taskSearchDTO.getTaskId();
verifyTask(taskQuestId,taskSearchDTO.getWarehouseId());
List<TaskQuestChildEntity> taskQuestChildEntityList = taskQuestChildService.list(Wrappers.<TaskQuestChildEntity>query().lambda()
.eq(TaskQuestChildEntity::getQuestId, taskQuestId)
.eq(TaskQuestChildEntity::getRefType, 1));
DistributionStockArticleEntity stockArticleEntity = null;
AtomicInteger libNum = new AtomicInteger();
List<String> marketNames = null;
if (Func.isEmpty(taskQuestId)){
//全仓盘点
stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(incomingBatch,taskSearchDTO.getWarehouseId());
}else {
if (Func.isNotEmpty(taskQuestChildEntityList)){
marketNames = taskQuestChildEntityList.stream().map(TaskQuestChildEntity::getRefName).collect(Collectors.toList());
stockArticleEntity = distributionStockArticleClient.findStockArticleByCodeAndMarketAndWarehouseId(taskSearchDTO.getCode(), marketNames,taskSearchDTO.getWarehouseId());
}else {
log.error("###################盘点任务查询失败");
}
}
switch (goodsType){
case "1":
if (Func.isEmpty(stockArticleEntity)){
log.error("###################此订单不属于该次盘点任务");
return Resp.scanFail("操作失败","不属于该任务");
}
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
parcelListEntity.setStockArticleId(stockArticleEntity.getId());
List<DistributionParcelListEntity> parcelList = distributionParcelListClient.getParcelList(parcelListEntity);
if (Func.isEmpty(parcelList)){
log.error("###################查询订单包件错误,订单ID:{}",stockArticleEntity.getId());
}
if (stockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())){
parcelList.forEach(p->{
QuestDetailEntity questDetailEntity = new QuestDetailEntity();
if (!p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yichuku.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())){
WarehouseTrayEntity warehouseTrayEntity = baseMapper.selectTratInfo(p.getId(),taskSearchDTO.getWarehouseId());
WarehouseUpdownGoodsEntity updownGoodsPack = getUpdownGoodsPack(p.getId(), "3", p.getOrderPackageCode(), taskSearchDTO.getWarehouseId());
if (Func.isNotEmpty(warehouseTrayEntity)){
questDetailEntity.setTrayCode(warehouseTrayEntity.getPalletCode());
questDetailEntity.setTrayId(warehouseTrayEntity.getId());
}
if (Func.isNotEmpty(updownGoodsPack)){
questDetailEntity.setAllocationId(updownGoodsPack.getId());
}
questDetailEntity.setOrdePackageCode(p.getOrderPackageCode());
questDetailEntity.setOrderCode(p.getOrderCode());
questDetailEntity.setOrderId(p.getStockArticleId());
libNum.getAndAdd(p.getQuantity());
questDetailEntity.setIsNew(0);
questDetailEntity.setQuestId(taskQuestId);
questDetailEntity.setQuestStatus(0);
questDetailEntity.setQuestTarget(1);
questDetailEntity.setQuestType(3);
questDetailService.save(questDetailEntity);
}
});
}else {
QuestDetailEntity questDetailEntity = new QuestDetailEntity();
DistributionStockArticleEntity stockArticleInfo = getStockArticleInfo(stockArticleEntity.getId());
WarehouseUpdownGoodsEntity updownGoodsPack = getUpdownGoodsPack(stockArticleInfo.getId(), "1", stockArticleInfo.getOrderCode(), taskSearchDTO.getWarehouseId());
List<WarehouseTrayEntity> warehouseTrayEntities = baseMapper.selectZeroOrderTratInfo(stockArticleInfo.getId(),taskSearchDTO.getWarehouseId());
if (Func.isNotEmpty(warehouseTrayEntities)){
List<String> strings = warehouseTrayEntities.stream().map(WarehouseTrayEntity::getPalletCode).distinct().collect(Collectors.toList());
questDetailEntity.setTrayCode(String.join(",",strings));
}
if (Func.isNotEmpty(updownGoodsPack)){
questDetailEntity.setAllocationId(updownGoodsPack.getId());
}
questDetailEntity.setOrderCode(stockArticleInfo.getOrderCode());
libNum.getAndAdd(stockArticleInfo.getHandQuantity());
questDetailEntity.setIsNew(0);
questDetailEntity.setQuestId(taskQuestId);
questDetailEntity.setQuestStatus(0);
questDetailEntity.setQuestTarget(1);
questDetailEntity.setQuestType(3);
questDetailService.save(questDetailEntity);
}
break;
case "2":
//库存品
List<DistributionStockListEntity> stockListByWarehouseIdAndMarketAndStockListInfo = distributionStockListClient.getStockListByWarehouseIdAndMarketAndStockListInfo(incomingBatch, marketNames, taskSearchDTO.getWarehouseId());
stockListByWarehouseIdAndMarketAndStockListInfo.forEach(s->{
QuestDetailEntity questDetailEntity = new QuestDetailEntity();
questDetailEntity.setOrderCode(s.getOrderCode());
questDetailEntity.setIsNew(0);
questDetailEntity.setQuestId(taskQuestId);
questDetailEntity.setQuestStatus(0);
questDetailEntity.setQuestTarget(1);
questDetailEntity.setQuestType(3);
libNum.getAndAdd(s.getQuantityStock() - s.getOutboundQuantity());
questDetailEntity.setStockId(s.getId());
questDetailService.save(questDetailEntity);
});
break;
default:
log.error("####################缺少货物类型字段");
break;
}
TaskContractVO taskContractVO = new TaskContractVO();
taskContractVO.setTotal(stockArticleEntity.getTotalNumber());
taskContractVO.setOrderId(stockArticleEntity.getId());
taskContractVO.setUnTotal(0);
taskContractVO.setZktotal(libNum.get());
return R.data(taskContractVO);
}
private String getQuestNum(String warehouseCode) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
return "PDRW-" + warehouseCode + "-" + simpleDateFormat.format(new Date()) + new Random().nextInt(900) + 100;

Loading…
Cancel
Save