Browse Source

修改备货客户查询操作

training
caoyizhong 2 years ago
parent
commit
030f8970f0
  1. 17
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelTrayVO.java
  2. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupListVO.java
  3. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java
  4. 26
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTaryAllocationClient.java
  5. 10
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java
  6. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  7. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java
  8. 30
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  9. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.java
  10. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml
  11. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java
  12. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java
  13. 16
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationPackageServiceImpl.java
  14. 45
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  15. 32
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTaryAllocationClient.java
  16. 21
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java

17
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelTrayVO.java

@ -0,0 +1,17 @@
package com.logpm.distribution.vo;
import lombok.Data;
/**
* @program: LogisticsPlatform-Service
* @description: 客户货物托盘
* @author: cyz
* @create: 2023-08-24 11:32
**/
@Data
public class DistributionParcelTrayVO {
private String trayId; //托盘id
private String trayCode; //托盘名称
private String trayPackNum; //托盘名称
}

1
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupListVO.java

@ -7,6 +7,7 @@ import java.io.Serializable;
@Data
public class DistributionStockupListVO implements Serializable {
private Long id;//预约单id
private Long reservationId;//预约单id
private String reservation;//预约单id

4
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java

@ -32,4 +32,8 @@ public class DistributionStockupOrderListVO implements Serializable {
@ApiModelProperty(value = "扫描件数")
private Integer scanNum;//扫描件数
private Long areaId; //货区id
private Long shelfId; //货架id
private Long allocationId; //货位id
}

26
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTaryAllocationClient.java

@ -0,0 +1,26 @@
package com.logpm.warehouse.feign;
import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity;
import org.springblade.common.constant.ModuleNameConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@FeignClient(
value = ModuleNameConstant.APPLICATION_WAREHOUSE_NAME
)
public interface IWarehouseTaryAllocationClient {
String API_PREFIX = "/client";
String TOP = API_PREFIX + "/top";
String GETALLOCATIONID = API_PREFIX + "/allocationId";
@GetMapping(GETALLOCATIONID)
List<WarehouseTaryAllocationEntity> getAllocationId(@RequestParam Long allocationId);
}

10
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java

@ -17,6 +17,7 @@
package com.logpm.warehouse.feign;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import org.springblade.common.constant.ModuleNameConstant;
import org.springframework.cloud.openfeign.FeignClient;
@ -25,6 +26,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* 托盘 货物 绑定 Feign接口类
*
@ -38,6 +41,7 @@ public interface IWarehouseTrayGoodsClient {
String API_PREFIX = "warehousetraygoods/client";
String TOP = API_PREFIX + "/top10";
String GETTRAYIDLIST = API_PREFIX + "/trayIdList";
/**
* 通过主键删除
@ -62,5 +66,11 @@ public interface IWarehouseTrayGoodsClient {
*/
@PostMapping(TOP+"/delByTrayByCode")
Boolean delByTrayByCode(@RequestParam String code);
/**
* 通过托盘id查询托盘上面的货物
* @param trayId
*/
@PostMapping(GETTRAYIDLIST)
List<WarehouseTrayGoodsEntity> getTrayIdList(@RequestParam Long trayId);
}

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

@ -143,7 +143,8 @@ public class DistributionStockupAppController extends BladeController {
for (DistributionStockupOrderListVO vo:list){
planNum = planNum + vo.getPlanNum();
scanNum = scanNum + vo.getScanNum();
Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId());
Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId());
// Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId());
vo.setTrayLean(aBoolean);
}
map.put("planNum",planNum);
@ -240,7 +241,7 @@ public class DistributionStockupAppController extends BladeController {
return R.data(list);
}
@PostMapping("scanningCode")
@PostMapping("/scanningCode")
@ApiOperation(value = "整托扫码")
public R scanningCodelist(@RequestBody StockupDTO stockupDTO){
if(ObjectUtils.isNull(stockupDTO.getStockupId())){
@ -249,7 +250,7 @@ public class DistributionStockupAppController extends BladeController {
if(ObjectUtils.isNull(stockupDTO.getReservationId())){
return R.fail(3002,"预约Id不能为空");
}
if(ObjectUtils.isNull(stockupDTO.getTrayBarCode())){
if(ObjectUtils.isNull(stockupDTO.getTrayId())){
return R.fail(3002,"托盘码不能为空");
}
boolean b = distributionStockupService.addPackTrayList(stockupDTO);

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java

@ -43,6 +43,7 @@ public class StockupDTO implements Serializable {
private Integer scanType;//备货扫码类型 1 包件 2库存品
private String packetBarCode;//包件码
private String trayBarCode;//托盘码
private String trayId;//货位ID
private String stockupArea;//备货区
private String stockupId;//备货区Id
private Long stockListId;//库存品id

30
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -175,7 +175,7 @@
</select>
<select id="selectStockupOrderList" resultType="com.logpm.distribution.vo.DistributionStockupOrderListVO">
select CONCAT(ldpl.cargo_title,'-',ldpl.shelf_title,'-',ldpl.goods_allocation) allocation,
<!-- select CONCAT(ldpl.cargo_title,'-',ldpl.shelf_title,'-',ldpl.goods_allocation) allocation,
ldsa.order_code orderCode,
ldrs.stock_article_id stockArticleId,
ldpl.pallet pallet,
@ -195,7 +195,33 @@
ldpl.goods_allocation,
ldsa.order_code,
ldrs.stock_article_id,
ldpl.pallet
ldpl.pallet -->
select DISTINCT GROUP_CONCAT(lwug.area_title,'-',lwug.shelf_title,'-',lwug.allocation_title ) allocation , lwtg.tray_code pallet,
lwug.area_id areaId,lwug.shelf_id shelfId,lwug.allocation_id allocationId
,(
select COUNT(drp.id)
from logpm_distribution_reservation_package drp
where drp.reservation_id = ldrp.reservation_id and drp.packet_bar_status in (1,3)
) planNum,
(
select COUNT(lds.id)
from logpm_distribution_reservation_package drp
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = drp.parce_list_id
where drp.reservation_id = ldrp.reservation_id and drp.packet_bar_status in (1,3)
) scanNum
from logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_warehouse_updown_goods lwug on ldrp.parce_list_id = lwug.association_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwug.association_id
<where>
ldrp.reservation_id = #{reservationId} and ldrp.packet_bar_status in (1,3)
<!-- and lwug.association_type = '3' and lwtg.association_type = '3' -->
</where>
</select>
<select id="selectStockupStockList" resultType="com.logpm.distribution.vo.DistributionStockupStockListVO">

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

@ -20,14 +20,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.distribution.dto.DistributionReservationPackageDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionReservationPackageEntity;
import com.logpm.distribution.vo.DistributionClientTrayStateStockupVO;
import com.logpm.distribution.vo.DistributionReservationPackageVO;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.excel.DistributionReservationPackageExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.vo.DistributionStockPackageVO;
import com.logpm.distribution.vo.DistributionStockupTrayVO;
import com.logpm.distribution.vo.app.DistributionAppParcelListVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -142,4 +139,6 @@ public interface DistributionReservationPackageMapper extends BaseMapper<Distrib
List<DistributionStockupTrayVO> selectTrayList(@Param("trayId") String trayId);
List<DistributionStockPackageVO> listPackage(@Param("reservationId") Long reservationId);
List<DistributionParcelTrayVO> listPackageTray(@Param("reservationId") Long reservationId);
}

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationPackageMapper.xml

@ -282,4 +282,16 @@ WHERE
</where>
</select>
<select id="listPackageTray" resultType="com.logpm.distribution.vo.DistributionParcelTrayVO">
SELECT DISTINCT lwtg.tray_id trayId, lwtg.tray_code trayCode, COUNT(lwttg.id) trayPackNum
FROM logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_warehouse_tray_goods lwtg ON lwtg.association_id = ldrp.parce_list_id
LEFT JOIN logpm_warehouse_tray_goods lwttg ON lwttg.association_id = lwtg.association_id AND lwttg.association_type = '3'
<where>
ldrp.reservation_id = #{reservationId} AND ldrp.packet_bar_status IN (1,3)
</where>
GROUP BY lwtg.tray_id, lwtg.tray_code;
</select>
</mapper>

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java

@ -22,6 +22,7 @@ import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionReservationPackageEntity;
import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelTrayVO;
import com.logpm.distribution.vo.DistributionReservationPackageVO;
import com.logpm.distribution.excel.DistributionReservationPackageExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -86,4 +87,6 @@ public interface IDistributionReservationPackageService extends BaseService<Dist
* @return
*/
List<DistributionParcelListVO> getStockArticlePackageList(List<DistributionReservationPackageEntity> reservationPackageEntity);
List<DistributionParcelTrayVO> selectClientStockupPackTray(Long reservationId);
}

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

@ -120,4 +120,12 @@ public interface IDistributionStockupService extends BaseService<DistributionSto
* @return
*/
boolean addPackTrayList(StockupDTO stockupDTO);
/**
* 查询状态
* @param reservationId
* @param allocationId
* @return
*/
Boolean getClientStockupTray(Long reservationId, Long allocationId);
}

16
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationPackageServiceImpl.java

@ -20,15 +20,11 @@ import com.logpm.distribution.dto.DistributionReservationPackageDTO;
import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionReservationPackageEntity;
import com.logpm.distribution.vo.DistributionClientTrayStateStockupVO;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionReservationPackageVO;
import com.logpm.distribution.excel.DistributionReservationPackageExcel;
import com.logpm.distribution.mapper.DistributionReservationPackageMapper;
import com.logpm.distribution.service.IDistributionReservationPackageService;
import com.logpm.distribution.vo.DistributionStockPackageVO;
import com.logpm.distribution.vo.DistributionStockupTrayVO;
import com.logpm.distribution.vo.app.DistributionAppParcelListVO;
import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
import lombok.AllArgsConstructor;
@ -123,5 +119,15 @@ public class DistributionReservationPackageServiceImpl extends BaseServiceImpl<D
return parcelListVOS;
}
/**
*
* @param reservationId
* @return
*/
@Override
public List<DistributionParcelTrayVO> selectClientStockupPackTray(Long reservationId) {
return baseMapper.listPackageTray(reservationId);
}
}

45
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataCodeClient;
@ -34,6 +33,10 @@ import com.logpm.distribution.mapper.DistributionStockupMapper;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.wrapper.DistributionStockupWrapper;
import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.feign.IWarehouseTaryAllocationClient;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import org.springblade.common.constant.CodeDesEnum;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
@ -51,6 +54,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
/**
* 备货信息表 服务实现类
@ -65,6 +69,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
@Autowired
private IDistributionReservationService distributionReservationService;
private IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
private IWarehouseTaryAllocationClient warehouseTaryAllocationClient;
@Autowired
private IDistributionReservationPackageService distributionReservationPackageService;
@ -143,8 +150,8 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
stockupDTO.setUserId(AuthUtil.getUserId());
stockupDTO.setStockupDateStart(stockupDTO.getStockupDateStart()+" 00:00:00");
stockupDTO.setStockupDateEnd(stockupDTO.getStockupDateEnd()+" 23:59:59");
// IPage<DistributionStockupListVO> distributionStockupEntityIPage = baseMapper.selectHomeStockupPage(page, stockupDTO);
IPage<DistributionStockupListVO> distributionStockupEntityIPage = baseMapper.selectStockupPage(page, stockupDTO);
IPage<DistributionStockupListVO> distributionStockupEntityIPage = baseMapper.selectHomeStockupPage(page, stockupDTO);
// IPage<DistributionStockupListVO> distributionStockupEntityIPage = baseMapper.selectStockupPage(page, stockupDTO);
List<DistributionStockupListVO> records = distributionStockupEntityIPage.getRecords();
for (DistributionStockupListVO vo : records) {
intToStrDistributionStockupListVO(vo);
@ -578,5 +585,37 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
return distributionStockService.saveBatch(list1);
}
/**
* 查询这个货位是否有整托
* @param reservationId
* @param allocationId
* @return
*/
@Override
public Boolean getClientStockupTray(Long reservationId, Long allocationId) {
List<DistributionParcelTrayVO> list = distributionReservationPackageService.selectClientStockupPackTray(reservationId);//查询在那些托盘
List<WarehouseTaryAllocationEntity> allocationId1 = warehouseTaryAllocationClient.getAllocationId(allocationId);//查询托盘
AtomicReference<Boolean> trays = new AtomicReference<>(false);
allocationId1.forEach( i ->{
boolean b = list.stream().anyMatch(a -> a.getTrayId().equals(i.getTrayId()));
if(b){
//有
Iterator<DistributionParcelTrayVO> iterator = list.iterator();
while (iterator.hasNext()){
if(i.getTrayId().equals(iterator.next().getTrayId())){
String trayPackNum = iterator.next().getTrayPackNum(); //在这个托盘的数量
List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId());
if(trayPackNum.equals(trayIdList.size())){
trays.set(true);
}
}
}
}
});
return trays.get();
}
}

32
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTaryAllocationClient.java

@ -0,0 +1,32 @@
package com.logpm.warehouse.feign;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity;
import com.logpm.warehouse.service.IWarehouseTaryAllocationService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @program: LogisticsPlatform-Service
* @description:
* @author: cyz
* @create: 2023-08-24 11:20
**/
@RestController
@AllArgsConstructor
public class WarehouseTaryAllocationClient implements IWarehouseTaryAllocationClient {
private IWarehouseTaryAllocationService warehouseTaryAllocationService;
@Override
@GetMapping(GETALLOCATIONID)
public List<WarehouseTaryAllocationEntity> getAllocationId(Long allocationId) {
return warehouseTaryAllocationService.list(Wrappers.<WarehouseTaryAllocationEntity>query().lambda()
.eq(WarehouseTaryAllocationEntity::getAllocationId,allocationId)
.eq(WarehouseTaryAllocationEntity::getBindStatus , "1")
);
}
}

21
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java

@ -1,22 +1,18 @@
package com.logpm.warehouse.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.service.IWarehouseTrayGoodsService;
import com.logpm.warehouse.service.IWarehouseTrayTypeService;
import com.logpm.warehouse.service.IWarehouseWaybillService;
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.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
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;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
@ApiIgnore()
@RestController
@AllArgsConstructor
@ -48,4 +44,13 @@ public class WarehouseTrayGoodsClient implements IWarehouseTrayGoodsClient {
R r = warehouseTrayTypeService.trayToNull(code);
return r.isSuccess() ;
}
@Override
@PostMapping(GETTRAYIDLIST)
public List<WarehouseTrayGoodsEntity> getTrayIdList(Long trayId) {
return warehouseTrayGoodsService.list(Wrappers.<WarehouseTrayGoodsEntity>query().lambda()
.eq(WarehouseTrayGoodsEntity::getTrayId,trayId)
.eq(WarehouseTrayGoodsEntity::getAssociationType,"3")
);
}
}

Loading…
Cancel
Save