Browse Source

提交订单回显

training
caoyizhong 1 year ago
parent
commit
a37a0ace86
  1. 50
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelListZeroVO.java
  2. 10
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleQRCodeVO.java
  3. 11
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockupZeroVO.java
  4. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  5. 16
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java
  6. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java
  7. 19
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  8. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  9. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  10. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  11. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationZeroPackageService.java
  12. 169
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  13. 45
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  14. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java
  15. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  16. 124
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  17. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

50
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionParcelListZeroVO.java

@ -0,0 +1,50 @@
package com.logpm.distribution.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class DistributionParcelListZeroVO implements Serializable {
private Long id;//包件id
/**
* 在库订单ID
*/
@ApiModelProperty(value = "在库订单ID")
private Long stockArticleId;
/**
* 品类
*/
@ApiModelProperty(value = "品类")
private String firsts;
/**
* 总数量
*/
@ApiModelProperty(value = "总数量")
private Integer quantity;
/**
* 在库数量
*/
@ApiModelProperty(value = "在库数量")
private Integer libraryQuantity;
/**
* 填写数量
*/
@ApiModelProperty(value = "填写数量")
private Integer TiQuantity;
/**
* 配送数量
*/
@ApiModelProperty(value = "配送数量")
private Integer deliveryQuantity;
}

10
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockArticleQRCodeVO.java

@ -112,6 +112,16 @@ public class DistributionStockArticleQRCodeVO {
*/
@ApiModelProperty(value = "订单状态")
private String totalNumber;
/**
* 订单状态
*/
@ApiModelProperty(value = "发货数据")
private String shipperName;
/**
* 订单状态
*/
@ApiModelProperty(value = "发货地址")
private String shipperAddress;
// /**
// * 订单状态
// */

11
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockupZeroVO.java

@ -7,10 +7,13 @@ import java.io.Serializable;
@Data
public class StockupZeroVO implements Serializable {
private String id;
private Integer quantity;
private String categoryName;
private Long stockArticleId;
private Long id;//零担包件预约ID
private Integer quantity; //预约数量
private Integer realityQuantity; //备货数量
private String categoryName; //品类名称
private Long stockArticleId; //订单ID
private Long parcelListId; //包件ID
private String orderCode; //订单自编号
}

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

@ -719,6 +719,7 @@ public class DistributionStockupAppController extends BladeController {
DistributionStockupEntity byId1 = distributionStockupService.getById(stockupId);
entity.setStockupArea(byId1.getStockupArea());
entity.setStockupId(stockupId);
entity.setStockQuantity(1);
if(stockupEntity.getTypeService().equals("3")){
entity.setBillLadingId(reservationId);
}else{
@ -756,7 +757,7 @@ public class DistributionStockupAppController extends BladeController {
return R.fail(3002,"本货位的物料已为0,请更换货位继续!!");
}
}else{
return Resp.scanFail("物料信息查询失败,请联系TJJ!!", "物料信息查询失败,请联系TJJ!!");
return Resp.scanFail("物料信息查询失败,请联系管理员!!", "物料信息查询失败,请联系管理员!!");
}
entity.setConditions("0");
entity.setType(2);

16
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionParcelListController.java

@ -28,6 +28,7 @@ import com.logpm.distribution.excel.DistributionParcelListExcel;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.vo.DistributionParcelListBaseVO;
import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelListZeroVO;
import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -129,11 +130,22 @@ public class DistributionParcelListController extends BladeController {
@GetMapping("/zeroMaterial")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "查询零担物料数据", notes = "传入distributionParcelList")
public R<List<DistributionParcelListVO>> getZeroMaterial(@ApiIgnore @RequestParam Map<String, Object> distributionParcelList, Query query) {
List<DistributionParcelListVO> pages = distributionParcelListService.getZeroMaterial(distributionParcelList);
public R<List<DistributionParcelListZeroVO>> getZeroMaterial(@ApiIgnore @RequestParam Map<String, Object> distributionParcelList, Query query) {
List<DistributionParcelListZeroVO> pages = distributionParcelListService.getZeroMaterial(distributionParcelList);
return R.data(pages);
}
/**
* 修改零担在库数量
*/
@GetMapping("/zeroUpdateMaterial")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "修改零担在库数量", notes = "传入distributionParcelList")
public R<List<DistributionParcelListVO>> getZeroUpdateMaterial(@ApiIgnore @RequestParam Map<String, Object> distributionParcelList, Query query) {
int a = distributionParcelListService.getZeroUpdateMaterial(distributionParcelList);
return a > 0 ? R.success("修改成功!") : R.fail("修改失败!");
}
/**
* 在库订单包件清单 自定义分页
*/

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupZeroDTO.java

@ -2,6 +2,7 @@ package com.logpm.distribution.dto.app;
import com.logpm.distribution.dto.DistributionParcelListDTO;
import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.vo.app.StockupZeroVO;
import lombok.Data;
import java.io.Serializable;
@ -10,7 +11,7 @@ import java.util.List;
@Data
public class StockupZeroDTO implements Serializable {
//包件集合
private List<DistributionParcelListDTO> list;
private List<StockupZeroVO> list;
private Long stockupId;//备货任务区Id
private String trayId;//托盘ID
private Long allocationId;//库位信息ID

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

@ -196,7 +196,7 @@
ldsa.order_code,
ldrs.stock_article_id,
ldpl.pallet -->
select DISTINCT CONCAT(lwug.position_code ) allocation , lwtg.tray_code pallet,lwug.area_id areaId,ldpl.id parcelListId,lds.id stockId,
<!-- select DISTINCT CONCAT(lwug.position_code ) allocation , lwtg.tray_code pallet,lwug.area_id areaId,ldpl.id parcelListId,lds.id stockId,
lwug.shelf_id shelfId,lwug.allocation_id allocationId,lwtg.tray_id trayId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId
from logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_distribution_stock_article ldsa on ldrp.stock_article_id = ldsa.id
@ -206,7 +206,21 @@
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id and lds.reservation_id = ldrp.reservation_id
<where>
ldrp.reservation_id = #{reservationId} and ldrp.packet_bar_status in (1,3) and ldsa.is_zero = #{isZero}
<!-- and lwug.association_type = '3' and lwtg.association_type = '3' -->
&lt;!&ndash; and lwug.association_type = '3' and lwtg.association_type = '3' &ndash;&gt;
</where>-->
select DISTINCT CONCAT(lwug.position_code ) allocation , lwtg.tray_code pallet,lwug.area_id areaId,ldpl.id parcelListId,lds.id stockId,
lwug.shelf_id shelfId,lwug.allocation_id allocationId,lwtg.tray_id trayId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId
from logpm_distribution_reservation_stockarticle ldrs
LEFT JOIN logpm_distribution_stock_article ldsa on ldrs.stock_article_id = ldsa.id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldrs.stock_article_id = ldpl.stock_article_id
LEFT JOIN logpm_warehouse_updown_goods lwug on ldpl.id = lwug.association_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwug.association_id
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id and lds.reservation_id = ldrs.reservation_id
<where>
ldrs.reservation_id = #{reservationId} and ldrs.stock_article_status in (1,3) and ldsa.is_zero = #{isZero}
</where>
@ -214,6 +228,7 @@
</select>
<select id="selectStockupStockList" resultType="com.logpm.distribution.vo.DistributionStockupStockListVO">

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

@ -292,9 +292,12 @@
ldsa.accept_warehouse_name as objective ,ldsa.send_warehouse_name departureStation,ldsa.dealer_name
dealerName,ldsa.dealer_code dealerCode,ldsa.total_number totalNumber,
CONCAT_WS('/', IFNULL(ldpl.firsts, ''), IFNULL(ldpl.second, ''), IFNULL(ldpl.third_product, '')) AS category,
CONCAT_WS( '',IFNULL(ldpl.material_name, '')) AS materialName ,ldpl.order_package_code qrCode
CONCAT_WS( '',IFNULL(ldpl.material_name, '')) AS materialName ,ldpl.order_package_code qrCode,ldsa.waybill_number,
CONCAT_WS('/', IFNULL(lww.shipper_name, ''), IFNULL(lww.shipper_mobile, '')) AS shipperName,lww.shipper_address shipperAddress
from logpm_distribution_parcel_list ldpl
LEFT JOIN logpm_distribution_stock_article ldsa on ldpl.stock_article_id = ldsa.id
LEFT JOIN logpm_warehouse_waybill lww on lww.waybill_no= ldsa.waybill_number
<where>
ldpl.id = #{o}
</where>

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -69,7 +69,7 @@
</select>
<select id="getZeroStockUpDataMei" resultType="com.logpm.distribution.vo.app.StockupZeroVO">
select DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id
select DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id,ldrzp.reality_quantity realityQuantity,ldrzp.parcel_list_id parcelListId
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation_zero_package ldrzp on ldsi.reservation_id = ldrzp.reservation_id
<where>
@ -86,7 +86,7 @@
</where>
</select>
<select id="getZeroStockUpDataYou" resultType="com.logpm.distribution.vo.app.StockupZeroVO">
elect DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id
elect DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id,ldrzp.reality_quantity realityQuantity,ldrzp.parcel_list_id parcelListId
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_reservation_zero_package ldrzp on ldrzp.reservation_id = ldrs.reservation_id
@ -107,7 +107,7 @@
</select>
<select id="getZeroStockUpDataYouSelf" resultType="com.logpm.distribution.vo.app.StockupZeroVO">
select DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id
select DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id,ldrzp.reality_quantity realityQuantity,ldrzp.parcel_list_id parcelListId
from logpm_distribution_stockup_info ldsi
left JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id
LEFT JOIN logpm_distribution_reservation_zero_package ldrzp on ldsi.reservation_id = ldrzp.reservation_id
@ -128,7 +128,7 @@
</select>
<select id="getZeroStockUpDataMeiSelf" resultType="com.logpm.distribution.vo.app.StockupZeroVO">
select DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id
select DISTINCT ldrzp.id,ldrzp.quantity,ldrzp.category_name,ldrzp.stock_article_id,ldrzp.reality_quantity realityQuantity,ldrzp.parcel_list_id parcelListId
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id
LEFT JOIN logpm_distribution_reservation_zero_package ldrzp on ldbs.bill_lading_id = ldrzp.reservation_id and ldrzp.type = '3'

11
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java

@ -23,6 +23,7 @@ import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.excel.DistributionParcelListExcel;
import com.logpm.distribution.vo.DistributionParcelListBaseVO;
import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelListZeroVO;
import com.logpm.distribution.vo.PackageStockupVO;
import org.springblade.core.mp.base.BaseService;
@ -117,8 +118,16 @@ public interface IDistributionParcelListService extends BaseService<Distribution
/**
* 查询零担物料数据
*
* @param distributionParcelList
* @return
*/
List<DistributionParcelListZeroVO> getZeroMaterial(Map<String, Object> distributionParcelList);
/**
* 修改零担在库数量
* @param distributionParcelList
* @return
*/
List<DistributionParcelListVO> getZeroMaterial(Map<String, Object> distributionParcelList);
int getZeroUpdateMaterial(Map<String, Object> distributionParcelList);
}

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

@ -50,9 +50,17 @@ public interface IDistributionReservationZeroPackageService extends BaseService<
List<DistributionReservationZeroPackageExcel> exportDistributionReservationZeroPackage(Wrapper<DistributionReservationZeroPackageEntity> queryWrapper);
/**
* 查询预约数量
* 根据包件ID查询预约数量
* @param parcelListId
* @return
*/
DistributionReservationZeroPackageEntity getOneZeroPackageNum(Long parcelListId);
/**
* 根据预约Id查询数据
*/
List<DistributionReservationZeroPackageEntity> getZeroList(Long reservationId);
}

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

@ -847,6 +847,11 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
*/
@Override
public void stockZero(StockupZeroDTO stockupDTO) {
try {
Thread.sleep(300L);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
log.debug("修改备货数据》》》",stockupDTO);
QueryWrapper<DistributionReservationZeroPackageEntity> queryWrapper = new QueryWrapper();
if(ObjectUtils.isNotNull(stockupDTO.getStockArticleId())){
@ -861,46 +866,83 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
DistributionStockupEntity stockupEntity = new DistributionStockupEntity();
list.stream().forEach(i -> {
if(!i.getQuantity().equals(i.getRealityQuantity())){
//不同
//不同 不能修改为完成
pian.set(false);
}
});
if(pian.get()){
//查询有没有不是零担的订单
List<DistributionStockPackageVO> distributionStockPackageVOS = distrilbutionBillStockService.listPackageSelf(stockupDTO.getReservationId());
if(!distributionStockPackageVOS.isEmpty()){
AtomicReference<Boolean> s = new AtomicReference<>(false);
distributionStockPackageVOS.forEach( i ->{
QueryWrapper<DistributionStockEntity> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("stock_article",i.getStockArticleId());
queryWrapper1.eq("parcel_list_id",i.getParcelListId());
if(stockupDTO.getTypeService().equals("3")){
queryWrapper1.eq("bill_lading_id",stockupDTO.getReservationId());
}else{
queryWrapper1.eq("reservation_id",stockupDTO.getReservationId());
}
DistributionStockEntity stockEntity = distributionStockService.selectOne(queryWrapper1);
if(ObjectUtils.isNull(stockEntity)){
//没有扫
s.set(true);
AtomicReference<Boolean> s = new AtomicReference<>(false);
if(stockupDTO.getTypeService().equals("3")){
//自提
//查询有没有不是零担的订单
List<DistributionStockPackageVO> distributionStockPackageVOS = distrilbutionBillStockService.listPackageSelf(stockupDTO.getReservationId());
if(!distributionStockPackageVOS.isEmpty()){
distributionStockPackageVOS.forEach( i ->{
if(getDoneStockUp(i.getStockArticleId(), i.getParcelListId(), stockupDTO.getReservationId(), stockupDTO.getTypeService())){
//没有扫
s.set(true);
}
});
}else{
//查询有没有库存品
List<DistributionDeliveryDetailsEntity> distributionDeliveryDetailsEntities = distributionDeliveryDetailsMapper.selectList(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, stockupDTO.getReservationId())
.in(DistributionDeliveryDetailsEntity::getInventoryStatus, "1", "3")
);
if(!distributionDeliveryDetailsEntities.isEmpty()){
int sum = distributionDeliveryDetailsEntities.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum(); //全部的库存数量
distributionDeliveryDetailsEntities.forEach(d ->{
if(!getDoneStockUpStock(d.getStockListId(),stockupDTO.getReservationId(),stockupDTO.getTypeService(),stockupDTO.getStockupId(),sum )){
s.set(true);
}
});
}
});
if(s.get()){
stockupEntity.setStockupStatus(StockupStatusConstant.beihuozhong.getValue());
stockupEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
stockupEntity.setFixTime(new Date());
}
}else{
//商,市
List<DistributionReservationPackageEntity> packageEntities = distributionReservationPackageMapper.selectList(Wrappers.<DistributionReservationPackageEntity>query().lambda()
.eq(DistributionReservationPackageEntity::getReservationId, stockupDTO.getReservationId())
.eq(DistributionReservationPackageEntity::getPacketBarStatus, '1')
);
if(!packageEntities.isEmpty()){
packageEntities.forEach( i ->{
if(getDoneStockUp(i.getStockArticleId(), i.getParceListId(), stockupDTO.getReservationId(), stockupDTO.getTypeService())){
//没有扫
s.set(true);
}
});
}else{
//查询有没有库存品
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationStocklistMapper.selectList(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
.in(DistributionReservationStocklistEntity::getStockListStatus, "1", "3")
);
if(!distributionReservationStocklistEntities.isEmpty()){
int sum = distributionReservationStocklistEntities.stream().mapToInt(DistributionReservationStocklistEntity::getRealityNum).sum(); //全部的库存数量
distributionReservationStocklistEntities.forEach(d ->{
if(!getDoneStockUpStock(d.getStocklistId(),stockupDTO.getReservationId(),stockupDTO.getTypeService(),stockupDTO.getStockupId(),sum )){
s.set(true);
}
});
}
stockupEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
stockupEntity.setFixTime(new Date());
}
}
if(s.get()){
stockupEntity.setStockupStatus(StockupStatusConstant.beihuozhong.getValue());
}else{
stockupEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
stockupEntity.setFixTime(new Date());
}
stockupEntity.setId(stockupDTO.getStockupId());
stockupEntity.setFixTime(new Date());
}else{
stockupEntity.setId(stockupDTO.getStockupId());
stockupEntity.setStockupStatus(StockupStatusConstant.beihuozhong.getValue());
}
stockupEntity.setId(stockupDTO.getStockupId());
distributionStockupService.updateById(stockupEntity);
}
@ -1238,9 +1280,11 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
@Override
@Transactional(rollbackFor = Exception.class)
public void stockupUpdateState(StockupDTO stockupDTO) {
//修改包件备货状态
List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListMapper.selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getOrderPackageCode, stockupDTO.getPacketBarCode()));
//
//查询包件备货状态
List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListMapper.selectList(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, stockupDTO.getPacketBarCode()));
//修改
if(!distributionParcelListEntities.isEmpty()){
DistributionParcelListEntity distributionParcelListEntity = new DistributionParcelListEntity();
distributionParcelListEntity.setId(distributionParcelListEntities.get(0).getId());
@ -1256,6 +1300,12 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
AtomicReference<Integer> nu = new AtomicReference<>(0); //全部
AtomicReference<Integer> nuy = new AtomicReference<>(0); // 以扫
AtomicReference<Integer> ku = new AtomicReference<>(0); // 库
//查询有没有零担数据
List<DistributionReservationZeroPackageEntity> zeroList = reservationZeroPackageService.getZeroList(stockupDTO.getReservationId());
if(!zeroList.isEmpty()){
int sum = zeroList.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum();
nu.set(nu.get() + sum);
}
distributionStockupInfoEntities.forEach(i -> {
//预约包件
//查询已扫描的数量
@ -1263,8 +1313,10 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
.eq(DistributionStockEntity::getReservationId, i.getReservationId())
.eq(DistributionStockEntity::getStockupId, stockupDTO.getStockupId())
);
int size = list.size();
nuy.set(nuy.get() + size);
if(!list.isEmpty()){
int size = list.stream().mapToInt(DistributionStockEntity::getStockQuantity).sum();
nuy.set(nuy.get() + size);
}
//查询全部数量
List<DistributionReservationStockarticleEntity> distributionReservationStockarticleEntities = distributionReservationStockarticleMapper.selectList(Wrappers.<DistributionReservationStockarticleEntity>query().lambda()
.eq(DistributionReservationStockarticleEntity::getReservationId, i.getReservationId())
@ -1462,5 +1514,60 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
}
/**
* 查询是否有没有备货的数据
* @param stockArticleId
* @param parcelListId
* @param reservationId
* @param typeService
* @return
*/
public Boolean getDoneStockUp(Long stockArticleId,Long parcelListId,Long reservationId,String typeService){
QueryWrapper<DistributionStockEntity> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("stock_article",stockArticleId);
queryWrapper1.eq("parcel_list_id",parcelListId);
if(typeService.equals("3")){
queryWrapper1.eq("bill_lading_id",reservationId);
}else{
queryWrapper1.eq("reservation_id",reservationId);
}
DistributionStockEntity stockEntity = distributionStockService.selectOne(queryWrapper1);
if(ObjectUtils.isNull(stockEntity)){
//没有扫
return true;
}else{
return false;
}
}
/**
* 查询是否有没有备货的库存品数据
* @param stockListId
* @param reservationId
* @param typeService
* @return
*/
public Boolean getDoneStockUpStock(Long stockListId,Long reservationId,String typeService,Long stockupId,Integer num ){
QueryWrapper<DistributionStockEntity> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("stock_list_id",stockListId);
queryWrapper1.eq("stockup_id",stockupId);
queryWrapper1.eq("type","2");
if(typeService.equals("3")){
queryWrapper1.eq("bill_lading_id",reservationId);
}else{
queryWrapper1.eq("reservation_id",reservationId);
}
List<DistributionStockEntity> stockEntityList = distributionStockService.selectList(queryWrapper1);
if(!stockEntityList.isEmpty() && stockEntityList.size() >= num){
return true; //已完成
} else{
return false; //未完成
}
}
}

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

@ -28,17 +28,21 @@ import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionParcelListDTO;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionParcelNumberEntity;
import com.logpm.distribution.excel.DistributionParcelListExcel;
import com.logpm.distribution.mapper.DistributionParcelListMapper;
import com.logpm.distribution.service.IDistributionParcelListService;
import com.logpm.distribution.service.IDistributionParcelNumberService;
import com.logpm.distribution.vo.DistributionParcelListBaseVO;
import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelListZeroVO;
import com.logpm.distribution.vo.PackageStockupVO;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.order.OrderStockupStatusConstant;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.DictBizCache;
@ -64,6 +68,8 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
private final IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient;
private final IDistributionParcelNumberService distributionParcelNumberService;
@Override
public IPage<DistributionParcelListEntity> selectDistributionParcelListPage(IPage<DistributionParcelListEntity> page, DistributionParcelListVO distributionParcelList) {
List<BasicdataWarehouseEntity> myWatchWarehouse = basicdataWarehouseClient.getMyWatchWarehouse();
@ -233,11 +239,12 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
/**
* 查询零担物料数据
*
* @param distributionParcelList
* @return
*/
@Override
public List<DistributionParcelListVO> getZeroMaterial(Map<String, Object> distributionParcelList) {
public List<DistributionParcelListZeroVO> getZeroMaterial(Map<String, Object> distributionParcelList) {
Object o = distributionParcelList.get("stockArticleId");
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
if(ObjectUtils.isNotNull(o)){
@ -254,15 +261,47 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
if(distributionParcelListEntities.isEmpty()){
return null;
}
List<DistributionParcelListVO> list = new ArrayList<>();
List<DistributionParcelListZeroVO> list = new ArrayList<>();
distributionParcelListEntities.forEach( i ->{
DistributionParcelListVO parcelListVO = new DistributionParcelListVO();
//查询在库数量
DistributionParcelNumberEntity one = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda()
.eq(DistributionParcelNumberEntity::getParcelListId, i.getId())
.eq(DistributionParcelNumberEntity::getStockArticleId, i.getStockArticleId())
);
DistributionParcelListZeroVO parcelListVO = new DistributionParcelListZeroVO();
BeanUtils.copyProperties(i,parcelListVO);
parcelListVO.setLibraryQuantity(one.getHandQuantity());
parcelListVO.setDeliveryQuantity(one.getDeliveryQuantity());
list.add(parcelListVO);
});
return list;
}
/**
* 修改零担在库数量
* @param distributionParcelList
* @return
*/
@Override
public int getZeroUpdateMaterial(Map<String, Object> distributionParcelList) {
Object o = distributionParcelList.get("stock_article_id"); //订单ID
Object parcelListZeroVO = distributionParcelList.get("distributionParcelListZeroVO");
if(ObjectUtils.isNull(parcelListZeroVO)){
throw new ServiceException("修改参数为空!!!");
}
for (DistributionParcelListZeroVO parcelZeroVO : (List<DistributionParcelListZeroVO>) parcelListZeroVO) {
if(parcelZeroVO.getTiQuantity().equals(0) || parcelZeroVO.getTiQuantity() > parcelZeroVO.getDeliveryQuantity()){
continue;
}
//修改
distributionParcelNumberService.update(Wrappers.<DistributionParcelNumberEntity>update()
.eq("parcel_list_id",parcelZeroVO.getId())
.set("hand_quantity", parcelZeroVO.getTiQuantity())
);
}
return 1;
}
/**
*
* @param distributionParcelList

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationZeroPackageServiceImpl.java

@ -65,4 +65,16 @@ public class DistributionReservationZeroPackageServiceImpl extends BaseServiceIm
.in(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "1", "3"));
}
/**
* @param reservationId
* @return
*/
@Override
public List<DistributionReservationZeroPackageEntity> getZeroList(Long reservationId) {
return baseMapper.selectList(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda()
.eq(DistributionReservationZeroPackageEntity::getReservationId, reservationId)
.eq(DistributionReservationZeroPackageEntity::getIsDeleted, '0')
.in(DistributionReservationZeroPackageEntity::getZeroPackageStatus, "1", "3"));
}
}

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

@ -583,6 +583,12 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
}
for (String id : idArray) {
DistributionStockArticleQRCodeVO orderNoList = baseMapper.getOrderNoList(null, id);
if(ObjectUtil.isEmpty(orderNoList.getShipperName()) || ("/").equals(orderNoList.getShipperName())){
orderNoList.setShipperName("无");
}
if(ObjectUtil.isEmpty(orderNoList.getShipperAddress())){
orderNoList.setShipperAddress(" ");
}
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(orderNoList), Map.class);
map.put("id",id);
String filename = QRCodeUtil.createCodeToFile(orderNoList.getQrCode());

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

@ -774,6 +774,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
List<DistributionStockupOrderListVO> collect11 = list.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList()); //有货位
Set<DistributionStockupOrderListVO> listYou = new HashSet<>(); //
collect11.forEach( p ->{
//查询零担信息
DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity();
if(stockupDTO.getIsZero().equals("1")) {
//零担 查询预约数量
one = reservationZeroPackageService.getOneZeroPackageNum(p.getParcelListId());
}
int i1 = stockupDTO.getIsZero().equals("1") ? one.getQuantity() : 1;
if(listYou.size() > 0){
//
boolean b = listYou.stream().anyMatch(a -> a.getAllocationId().equals(p.getAllocationId()));
@ -782,9 +790,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
listYou.forEach( y -> {
if(y.getAllocationId().equals(p.getAllocationId())){
//相同
y.setPlanNum(y.getPlanNum()+1);
y.setPlanNum(y.getPlanNum()+i1);
if(ObjectUtils.isNotNull(p.getStockId())){
y.setScanNum(y.getScanNum()+1);
y.setScanNum(y.getScanNum()+i1);
}
//t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){
@ -794,21 +802,21 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
} );
}else{
//没有
p.setPlanNum(1);
p.setPlanNum(i1);
if (ObjectUtils.isNull(p.getStockId())){
p.setScanNum(0);
}else{
p.setScanNum(1);
p.setScanNum(i1);
}
listYou.add(p);
}
}else{
//
p.setPlanNum(1);
p.setPlanNum(i1);
if (ObjectUtils.isNull(p.getStockId())){
p.setScanNum(0);
}else{
p.setScanNum(1);
p.setScanNum(i1);
}
listYou.add(p);
@ -831,6 +839,15 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
List<DistributionStockupOrderListVO> collectYou = listLi.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList());//有
List<DistributionStockupOrderListVO> collectWu = listLi.stream().filter(o -> ObjectUtils.isNull(o.getAllocationId())).collect(Collectors.toList());//没有
collectYou.forEach( p ->{
//查询零担信息
DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity();
if(stockupDTO.getIsZero().equals("1")) {
//零担 查询预约数量
one = reservationZeroPackageService.getOneZeroPackageNum(p.getParcelListId());
}
int i1 = stockupDTO.getIsZero().equals("1") ? one.getQuantity() : 1;
if(listYou.size() > 0){
//
boolean b = listYou.stream().anyMatch(a -> a.getAllocationId().equals(p.getAllocationId()));
@ -839,9 +856,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
listYou.forEach( y -> {
if(y.getAllocationId().equals(p.getAllocationId())){
//相同
y.setPlanNum(y.getPlanNum()+1);
y.setPlanNum(y.getPlanNum()+i1);
if(ObjectUtils.isNotNull(p.getStockId())){
y.setScanNum(y.getScanNum()+1);
y.setScanNum(y.getScanNum()+i1);
}
//t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){
@ -856,36 +873,45 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
} );
}else{
//没有
p.setPlanNum(1);
p.setPlanNum(i1);
if (ObjectUtils.isNull(p.getStockId())){
p.setScanNum(0);
}else{
p.setScanNum(1);
p.setScanNum(i1);
p.setCompleteStact(true);
}
listYou.add(p);
}
}else{
//
p.setPlanNum(1);
p.setPlanNum(i1);
if (ObjectUtils.isNull(p.getStockId())){
p.setScanNum(0);
}else{
p.setScanNum(1);
p.setScanNum(i1);
p.setCompleteStact(true);
}
listYou.add(p);
}
});
collectWu.forEach(i ->{
//查询零担信息
DistributionReservationZeroPackageEntity one = new DistributionReservationZeroPackageEntity();
if(stockupDTO.getIsZero().equals("1")) {
//零担 查询预约数量
one = reservationZeroPackageService.getOneZeroPackageNum(i.getParcelListId());
}
int i1 = stockupDTO.getIsZero().equals("1") ? one.getQuantity() : 1;
boolean b = listYou.stream().anyMatch(ko -> ObjectUtils.isNull(ko.getAllocationId()));
if(b){
listYou.forEach( wu -> {
if(ObjectUtils.isNull(wu.getAllocationId())){
//相同
wu.setPlanNum(wu.getPlanNum()+1);
wu.setPlanNum(wu.getPlanNum()+i1);
if(ObjectUtils.isNotNull(i.getStockId())){
wu.setScanNum(wu.getScanNum()+1);
wu.setScanNum(wu.getScanNum()+i1);
}
//托盘信息
if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){
@ -907,9 +933,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
});
}else{
i.setPlanNum(1);
i.setPlanNum(i1);
if(ObjectUtils.isNotNull(i.getStockId())){
i.setScanNum(1);
i.setScanNum(i1);
i.setCompleteStact(true);
}else{
i.setScanNum(0);
@ -2056,31 +2082,53 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
List<StockupZeroVO> finalZeroStockUpData = zeroStockUpData;
List<DistributionParcelListDTO> collect = stockupDTO.getList().stream().filter( //可以
a -> {
return finalZeroStockUpData.stream().anyMatch(q -> a.getStockArticleId().equals(q.getStockArticleId()) && a.getQuantity() <= q.getQuantity());
}).collect(Collectors.toList());
List<StockupZeroVO> collect = stockupDTO.getList().stream().filter( //可以
a -> finalZeroStockUpData.stream().anyMatch(q -> a.getStockArticleId().equals(q.getStockArticleId()) && a.getQuantity() <= q.getQuantity() && a.getQuantity() > 0)
).collect(Collectors.toList());
//添加备货信息
List<DistributionStockEntity> stockEntityList = new ArrayList<>();
collect.forEach( i -> {
DistributionStockEntity stockEntity = new DistributionStockEntity();
stockEntity.setStockArticle(i.getStockArticleId());
stockEntity.setStockupId(stockupDTO.getStockupId());
for (StockupZeroVO i : collect) {
//查询有没有备货过
DistributionStockEntity one = distributionStockService.getOne(Wrappers.<DistributionStockEntity>query().lambda()
.eq(DistributionStockEntity::getStockArticle, i.getStockArticleId())
.eq(DistributionStockEntity::getStockupId, stockupDTO.getStockupId())
.eq(DistributionStockEntity::getParcelListId, i.getParcelListId())
);
//查询备货数量
DistributionReservationZeroPackageEntity byId = reservationZeroPackageService.getById(i.getId());
stockEntity.setParcelListId(Optional.ofNullable(byId.getParcelListId()).orElse(null) );
stockEntity.setBillLadingId(stockupDTO.getReservationId());
stockEntity.setConditions("2");
stockEntity.setGoodsName(i.getFirsts());
stockEntity.setOutboundType("3");
stockEntity.setType(3);
stockEntity.setStockQuantity(i.getQuantity());// 备货数量
stockEntityList.add(stockEntity);
if(byId.getRealityQuantity()+i.getQuantity() > byId.getQuantity()){
return Resp.scanFail(i.getCategoryName()+"备货数量大于待备货数量!",i.getCategoryName()+"备货数量大于待备货数量!");
}
if(ObjectUtils.isNotNull(one)){
//修改数量
DistributionStockEntity stockEntity = new DistributionStockEntity();
stockEntity.setId(one.getId());
stockEntity.setStockQuantity(one.getStockQuantity()+i.getQuantity());
distributionStockService.updateById(stockEntity);
}else{
DistributionStockEntity stockEntity = new DistributionStockEntity();
stockEntity.setStockArticle(i.getStockArticleId());
stockEntity.setStockupId(stockupDTO.getStockupId());
stockEntity.setParcelListId(byId.getParcelListId());
if(stockupDTO.getTypeService().equals("3")){
stockEntity.setBillLadingId(stockupDTO.getReservationId());
}else{
stockEntity.setReservationId(stockupDTO.getReservationId());
}
stockEntity.setConditions("2");
stockEntity.setGoodsName(i.getCategoryName());
stockEntity.setOutboundType("3");
stockEntity.setType(3);
stockEntity.setStockQuantity(i.getQuantity());// 备货数量
stockEntityList.add(stockEntity);
}
//修改备货数量
DistributionReservationZeroPackageEntity reservationZeroPackageEntity = new DistributionReservationZeroPackageEntity();
reservationZeroPackageEntity.setRealityQuantity(i.getQuantity());
reservationZeroPackageEntity.setId(i.getId());
reservationZeroPackageService.updateById(reservationZeroPackageEntity);
});
}
boolean b = distributionStockService.saveBatch(stockEntityList);
if(b){
//修改备货状态
@ -2114,7 +2162,6 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
//商, 市
list = distributionStockupService.getZeroStockUpDataMei(stockupDTO);
}
return R.data(list);
}else{
//有货位信息
//有没有多个订单数据
@ -2129,9 +2176,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
//商,市
list = distributionStockupService.getZeroStockUpDataYou(stockupDTO);
}
return R.data(list);
}
}
//查询订单信息
list.stream().forEach( i ->{
DistributionStockArticleEntity byId = distributionStockArticleService.getById(i.getStockArticleId());
i.setOrderCode(byId.getOrderCode());
});
return R.data(list);
}
}

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -135,10 +135,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//修改
this.updateById(distrilbutionBillLading);
//修改零担数据
updetaParcelNum(distrilbutionBillLading);
//修改图片
List<DistributionPrintEntity> printEntityList = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda().eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLading.getId()));
if (!printEntityList.isEmpty()) {

Loading…
Cancel
Save