Browse Source

Merge branch 'dev' into pre-production

newStockUp
pref_mail@163.com 1 year ago
parent
commit
4b7e4d8439
  1. 6
      blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java
  2. 2
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java
  3. 5
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockListVO.java
  4. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppStockArticleVO.java
  5. 33
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailEntity.java
  6. 315
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  7. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  8. 130
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  9. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml
  10. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  11. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  12. 24
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  13. 34
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java
  14. 6
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java
  15. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/QuestDetailDTO.java
  16. 19
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml
  17. 43
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java

6
blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java

@ -3,4 +3,10 @@ package org.springblade.common.constant;
public class RedisKeyConstant {
/**
* 欧派入库扫描缓存key
*/
public static final String cache_oupai_key ="cache:oupai-key:";
}

2
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java

@ -188,4 +188,6 @@ public class BasicdataClientEntity extends TenantEntity {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date contractEntTime;
@ApiModelProperty(value = "默认付款方式 1现付 2到付 3月结 4回付 5内部结算 ")
private String defaultPaymentMethods;
}

5
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockListVO.java

@ -117,6 +117,11 @@ public class DistributionStockListVO extends DistributionStockListEntity {
*/
@ApiModelProperty(value = "货位信息")
private String positionCode;
/**
* 品牌名称
*/
@ApiModelProperty(value = "品牌名称")
private String brandName;
/**
* 类型
*/

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

@ -39,7 +39,7 @@ public class DistributionAppStockArticleVO extends DistributionStockArticleEntit
* 扫描数
*/
@ApiModelProperty(value = "扫描数")
private Integer loadingNub;
private Integer loadingNub=0;
/**
* 订单ID
@ -50,7 +50,7 @@ public class DistributionAppStockArticleVO extends DistributionStockArticleEntit
* 签收数
*/
@ApiModelProperty(value = "签收(订单)")
private Integer signforNub;
private Integer signforNub=0;
/**
* 是否存在异常包间

33
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailEntity.java

@ -24,6 +24,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.util.Date;
import java.util.List;
/**
@ -115,6 +116,18 @@ public class QuestDetailEntity extends TenantEntity {
*/
@ApiModelProperty(value = "品类名称;对应零担")
private String categoryName;
/**
* 发站仓名称
*/
@ApiModelProperty(value = "发站仓名称")
private String sendWarehouseName;
/**
* 品牌名称
*/
@ApiModelProperty(value = "品牌名称")
private String brandName;
/**
* 库存品ID;对应库存品
*/
@ -172,8 +185,7 @@ public class QuestDetailEntity extends TenantEntity {
/**
* 托盘名称
*/
@ApiModelProperty(value = "托盘码")
@TableField(exist = false)
@ApiModelProperty(value = "托盘名称")
private String trayName;
/**
@ -227,6 +239,23 @@ public class QuestDetailEntity extends TenantEntity {
*/
@ApiModelProperty(value = "批次号")
private String incomingBatch;
/**
* 盘点人
*/
@ApiModelProperty(value = "盘点人")
private Long inventoryUser;
/**
* 盘点时间
*/
@ApiModelProperty(value = "盘点时间")
private Date inventoryTime;
@ApiModelProperty(value = "盘点开始时间")
@TableField(exist = false)
private String startTime;// 开始时间
@ApiModelProperty(value = "盘点结束时间")
@TableField(exist = false)
private String endTime;// 结束时间
}

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

@ -696,11 +696,11 @@ public class DistributionStockupAppController extends BladeController {
return Resp.scanFail(60008,"包件不属于此计划!!!","包件不属于此计划!!!","");
case 2:
return R.data(60002, distributionStockListEntities.getId(), "当前包件批次号与入库批次号不符,是否确认修改计划批次");
// case 3:
// //查询其他所用的页面信息
// DistributionStockupStockListVO distributionStockupStockListVO = distributionReservationService.selectStockupStockListByStockListId(reservationId,distributionStockListEntities.getId());
// return R.data(200, distributionStockupStockListVO, "扫描成功!");
case 3:
//查询其他所用的页面信息
DistributionStockupStockListVO distributionStockupStockListVO = distributionReservationService.selectStockupStockListByStockListId(reservationId,distributionStockListEntities.getId());
return R.data(200, distributionStockupStockListVO, "扫描成功!");
case 4:
return R.data(200, distributionStockListEntities.getId(), "扫描成功!");
}
@ -736,45 +736,54 @@ public class DistributionStockupAppController extends BladeController {
}
return R.data(200, "", "扫描成功!");
}
private int judgmentIsStockUp(Long reservationId,Long stockListId, DistributionParcelListEntity distributionParcelListEntity, Long warehouseId,String cargoNumber) {
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(reservationId);
if (Func.isNotEmpty(distributionReservationStocklistEntities)){
List<Long> stockListIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
//查询库存品信息
List<Long> stockListIds = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
List<DistributionStockListEntity> stockListEntityList = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda()
.in(DistributionStockListEntity::getId, stockListId)
.in(DistributionStockListEntity::getId, stockListIds)
.eq(DistributionStockListEntity::getWarehouseId, warehouseId)
.eq(DistributionStockListEntity::getCargoNumber, cargoNumber)
);
//判断该库存品包件是否属于计划库存品的物料
//首先判断包件的物料和此计划中的物料是否一致
// if (!stockListEntityList.getCargoNumber().equals(distributionParcelListEntity.getMaterialCode())){
// return 1;
// }
// //查看是否和当前页的计划批次一致
// if (!stockListEntityList.getIncomingBatch().equals(distributionParcelListEntity.getOrderCode())){
// //查看计划下是否存在该包件对应批次的计划
// List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(reservationId, cargoNumber, stockListId);
// if (Func.isNotEmpty(reservationStocklistEntityList)){
// List<Long> stockListIds = reservationStocklistEntityList.stream().map(DistributionReservationStocklistEntity::getStocklistId).collect(Collectors.toList());
// List<DistributionStockListEntity> distributionStockListEntities = distributionStockListService.listByIds(stockListIds);
// boolean isHave = distributionStockListEntities.stream().map(DistributionStockListEntity::getIncomingBatch).allMatch(s -> s.contains(distributionParcelListEntity.getOrderCode()));
// if (isHave){
// return 3;
// }
// }else {
// return 2;
// }
// }
boolean isHave = stockListEntityList.stream().map(DistributionStockListEntity::getCargoNumber).anyMatch(s -> s.contains(distributionParcelListEntity.getMaterialCode()));
if (!isHave){
//判断包件是否属于计划物料信息
return 1;
}
//判断该库存品包件是否属于计划的批次
boolean isHaveIncomingBatch = stockListEntityList.stream().map(DistributionStockListEntity::getIncomingBatch).anyMatch(s -> s.contains( distributionParcelListEntity.getOrderCode()));
if (!isHaveIncomingBatch){
//判断计划下是否还存在哟该物料的库存品
List<DistributionStockListEntity> distributionStockListEntities = distributionStockListService.list(Wrappers.<DistributionStockListEntity>query().lambda()
.in(DistributionStockListEntity::getId, stockListId)
.eq(DistributionStockListEntity::getWarehouseId, warehouseId)
.eq(DistributionStockListEntity::getCargoNumber, cargoNumber)
);
boolean isOther = distributionStockListEntities.stream().map(DistributionStockListEntity::getCargoNumber).anyMatch(s -> s.contains(distributionParcelListEntity.getMaterialCode()));
if (isOther){
//是否是计划下同物料的库存品
return 3;
}else {
//不属于计划中同物料的库存品
return 2;
}
return 2;
}
}
return 4;
return 3;
}
/**
@ -805,9 +814,144 @@ public class DistributionStockupAppController extends BladeController {
@ApiOperation(value = "修改批次", notes = "传入stockupDTO")
// 修改预约备货信息 需要传入修改的包条
public R updateStockup(@RequestBody StockupDTO stockupDTO) {
List<DistributionReservationStocklistEntity> distributionReservationStocklistEntities = distributionReservationMapper.selectStockListByReservationId(stockupDTO.getReservationId());
//当前预约是否存在该批次库存品计划
// if (stockupDTO.getStockListId().equals(stockupDTO.getNewStockListId())){
// if (Func.isNotEmpty(distributionReservationStocklistEntities)){
// boolean isAdd = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).anyMatch(s -> s.equals(stockupDTO.getStockListId()));
// //扣减对应的库存品信息
//// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// if (!isAdd){
// ///先进行对应的扣减
// //查询该预约该物料的库存品信息
// List<DistributionReservationStocklistEntity> reservationStocklistEntities = distributionReservationMapper.selectInventoryListByIdAndMateriel(stockupDTO.getReservationId(),stockupDTO.getCargoNumber());
// //可能会出现同一物料不同批次的库存品
// List<DistributionReservationStocklistEntity> reservationStockList = reservationStocklistEntities.stream().filter(drs -> drs.getReservationNum() > 0 && drs.getRealityNum() < drs.getReservationNum()).collect(Collectors.toList());
// if (Func.isNotEmpty(reservationStockList)){
// DistributionReservationStocklistEntity oldReservationStocklistEntity = reservationStockList.get(0);
// //扣减计划数量
// oldReservationStocklistEntity.setReservationNum(oldReservationStocklistEntity.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(oldReservationStocklistEntity);
//
// //维护对应的库存品包件
// List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
// .eq(DisStockListDetailEntity::getReservationId, oldReservationStocklistEntity.getReservationId())
// .eq(DisStockListDetailEntity::getStockListId, oldReservationStocklistEntity.getStocklistId())
// .ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
// );
//
// DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(oldReservationStocklistEntity.getStocklistId());
// oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
// distributionStockListService.updateById(oldStockListEntity);
//
// //对指定库存品包件进行库存品ID修改
// DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
// if (Func.isNotEmpty(disStockListDetailEntity)){
// disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
// disStockListDetailService.updateById(disStockListDetailEntity);
// }
// //维护对应库存品的冻结数量
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(newStockListEntity);
// }
//
// // 增加实际扫描的包件对应的库存品信息 增加在预约库存品中间表上
// DistributionReservationStocklistEntity reservationStocklistEntity = new DistributionReservationStocklistEntity();
// reservationStocklistEntity.setReservationId(stockupDTO.getReservationId());
// reservationStocklistEntity.setReservationNum(1);
// reservationStocklistEntity.setLoadingStatus("10");
// reservationStocklistEntity.setSigningStatus("10");
// reservationStocklistEntity.setStockListStatus("3");
// DistributionStockListEntity stockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// if(ObjectUtils.isNotNull(stockListEntity)){
// reservationStocklistEntity.setStocklistId(stockListEntity.getId());
// reservationStocklistEntity.setUnit(stockListEntity.getCargoUnit());
// reservationStocklistEntity.setRealityNum(0);
// }
// distributionReservationStocklistService.save(reservationStocklistEntity);
//
// }else {
// //扣减该物料的计划库存品
// List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getStockListId());
// List<DistributionReservationStocklistEntity> oldReservationStockList = reservationStocklistEntityList.stream().filter(rs -> rs.getReservationNum() > 0 && rs.getRealityNum() < rs.getReservationNum()).collect(Collectors.toList());
// if (Func.isNotEmpty(oldReservationStockList)){
// //对老的计划数量进行减少
// DistributionReservationStocklistEntity reservationStocklistEntity = oldReservationStockList.get(0);
// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
//
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(reservationStocklistEntity.getStocklistId());
// oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
// distributionStockListService.updateById(oldStockListEntity);
//
// //维护对应的库存品包件
// List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
// .eq(DisStockListDetailEntity::getReservationId, reservationStocklistEntity.getReservationId())
// .eq(DisStockListDetailEntity::getStockListId, reservationStocklistEntity.getStocklistId())
// .ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
// );
//
// //对指定库存品包件进行库存品ID修改
// DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
// if (Func.isNotEmpty(disStockListDetailEntity)){
// disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
// disStockListDetailService.updateById(disStockListDetailEntity);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
// }
//
// //新的数量进行增加
// DistributionReservationStocklistEntity stocklistEntity = distributionReservationStocklistService.getOne(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
// .eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
// .eq(DistributionReservationStocklistEntity::getStocklistId, stockupDTO.getStockListId())
// .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue())
// );
//
// stocklistEntity
// .setReservationNum(stocklistEntity.getReservationNum() + 1);
// distributionReservationStocklistService.updateById(stocklistEntity);
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(newStockListEntity);
//
//
//
//
// }
//
//
//// List<DistributionReservationStocklistEntity> reservationStocklistEntities = stockListMap.get(stockupDTO.getStockListId());
//// DistributionReservationStocklistEntity reservationStocklistEntity = reservationStocklistEntities.get(0);
//// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() + 1);
//// distributionReservationStocklistService.updateById(reservationStocklistEntity);
//// if (newStockListEntity.getQuantityOccupied() +1 +newStockListEntity.getQuantityOccupied() <= newStockListEntity.getQuantityStock()){
//// newStockListEntity.setQuantityOccupied(newStockListEntity.getQuantityStock() + 1);
//// }
//// //修改对应库存品的冻结数量
//// //查询出原来计划的库存品进行扣减
//// List<DistributionReservationStocklistEntity> distributionReservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(),stockupDTO.getCargoNumber(),stockupDTO.getStockListId());
//// //过滤备货未完成的计划进行数量扣减
//// DistributionReservationStocklistEntity reservationStocklist = distributionReservationStocklistEntityList.stream().filter(drs -> drs.getReservationNum() > 0 && drs.getRealityNum() < drs.getReservationNum()).collect(Collectors.toList()).get(0);
//// reservationStocklist.setReservationNum(reservationStocklist.getReservationNum() - 1);
//// distributionReservationStocklistService.updateById(reservationStocklist);
////
//// //维护库存品对应数量
//// DistributionStockListEntity stockListEntity = distributionStockListService.getById(reservationStocklist.getStocklistId());
//// stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() + 1);
//// distributionStockListService.updateById(stockListEntity);
//// //存在 进行新增计划
// }
// //这里扣减原来的需要排除备货完成的
// }
// }
if (Func.isNotEmpty(distributionReservationStocklistEntities)){
boolean isAdd = distributionReservationStocklistEntities.stream().map(DistributionReservationStocklistEntity::getStocklistId).anyMatch(s -> s.equals(stockupDTO.getStockListId()));
//扣减对应的库存品信息
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
@ -842,10 +986,9 @@ public class DistributionStockupAppController extends BladeController {
}
//维护对应库存品的冻结数量
DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
newStockListEntity.setQuantityOccupied(newStockListEntity.getQuantityOccupied() + 1);
distributionStockListService.updateById(newStockListEntity);
}
// 增加实际扫描的包件对应的库存品信息 增加在预约库存品中间表上
DistributionReservationStocklistEntity reservationStocklistEntity = new DistributionReservationStocklistEntity();
reservationStocklistEntity.setReservationId(stockupDTO.getReservationId());
@ -861,85 +1004,57 @@ public class DistributionStockupAppController extends BladeController {
}
distributionReservationStocklistService.save(reservationStocklistEntity);
}else {
//扣减该物料的计划库存品
List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getStockListId());
List<DistributionReservationStocklistEntity> oldReservationStockList = reservationStocklistEntityList.stream().filter(rs -> rs.getReservationNum() > 0 && rs.getRealityNum() < rs.getReservationNum()).collect(Collectors.toList());
if (Func.isNotEmpty(oldReservationStockList)){
//对老的计划数量进行减少
DistributionReservationStocklistEntity reservationStocklistEntity = oldReservationStockList.get(0);
reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() - 1);
distributionReservationStocklistService.updateById(reservationStocklistEntity);
//维护对应库存品的冻结数量
DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(reservationStocklistEntity.getStocklistId());
oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
distributionStockListService.updateById(oldStockListEntity);
//维护对应的库存品包件
List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, reservationStocklistEntity.getReservationId())
.eq(DisStockListDetailEntity::getStockListId, reservationStocklistEntity.getStocklistId())
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
//对指定库存品包件进行库存品ID修改
DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
if (Func.isNotEmpty(disStockListDetailEntity)){
disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
disStockListDetailService.updateById(disStockListDetailEntity);
distributionReservationStocklistService.updateById(reservationStocklistEntity);
}
//新的数量进行增加
DistributionReservationStocklistEntity stocklistEntity = distributionReservationStocklistService.getOne(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
.eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
.eq(DistributionReservationStocklistEntity::getStocklistId, stockupDTO.getStockListId())
.ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue())
);
stocklistEntity
.setReservationNum(stocklistEntity.getReservationNum() + 1);
distributionReservationStocklistService.updateById(stocklistEntity);
//维护对应库存品的冻结数量
DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
distributionStockListService.updateById(newStockListEntity);
}
// List<DistributionReservationStocklistEntity> reservationStocklistEntities = stockListMap.get(stockupDTO.getStockListId());
// DistributionReservationStocklistEntity reservationStocklistEntity = reservationStocklistEntities.get(0);
// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() + 1);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
// if (newStockListEntity.getQuantityOccupied() +1 +newStockListEntity.getQuantityOccupied() <= newStockListEntity.getQuantityStock()){
// newStockListEntity.setQuantityOccupied(newStockListEntity.getQuantityStock() + 1);
// }
// //修改对应库存品的冻结数量
// //查询出原来计划的库存品进行扣减
// List<DistributionReservationStocklistEntity> distributionReservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(),stockupDTO.getCargoNumber(),stockupDTO.getStockListId());
// //过滤备货未完成的计划进行数量扣减
// DistributionReservationStocklistEntity reservationStocklist = distributionReservationStocklistEntityList.stream().filter(drs -> drs.getReservationNum() > 0 && drs.getRealityNum() < drs.getReservationNum()).collect(Collectors.toList()).get(0);
// reservationStocklist.setReservationNum(reservationStocklist.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(reservationStocklist);
//
// //维护库存品对应数量
// DistributionStockListEntity stockListEntity = distributionStockListService.getById(reservationStocklist.getStocklistId());
// stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(stockListEntity);
// //存在 进行新增计划
}
//这里扣减原来的需要排除备货完成的
// else {
// //扣减该物料的计划库存品
// List<DistributionReservationStocklistEntity> reservationStocklistEntityList = distributionReservationMapper.selectStockListByReservationIdAndCargoNumber(stockupDTO.getReservationId(), stockupDTO.getCargoNumber(), stockupDTO.getStockListId());
// List<DistributionReservationStocklistEntity> oldReservationStockList = reservationStocklistEntityList.stream().filter(rs -> rs.getReservationNum() > 0 && rs.getRealityNum() < rs.getReservationNum()).collect(Collectors.toList());
// if (Func.isNotEmpty(oldReservationStockList)){
// //对老的计划数量进行减少
// DistributionReservationStocklistEntity reservationStocklistEntity = oldReservationStockList.get(0);
// reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() - 1);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
//
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity oldStockListEntity = distributionStockListService.getById(reservationStocklistEntity.getStocklistId());
// oldStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() - 1);
// distributionStockListService.updateById(oldStockListEntity);
//
// //维护对应的库存品包件
// List<DisStockListDetailEntity> stockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
// .eq(DisStockListDetailEntity::getReservationId, reservationStocklistEntity.getReservationId())
// .eq(DisStockListDetailEntity::getStockListId, reservationStocklistEntity.getStocklistId())
// .ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
// );
//
// //对指定库存品包件进行库存品ID修改
// DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(sd -> Func.isEmpty(sd.getStockPackageCode())).collect(Collectors.toList()).get(0);
// if (Func.isNotEmpty(disStockListDetailEntity)){
// disStockListDetailEntity.setStockListId(stockupDTO.getStockListId());
// disStockListDetailService.updateById(disStockListDetailEntity);
// distributionReservationStocklistService.updateById(reservationStocklistEntity);
// }
//
// //新的数量进行增加
// DistributionReservationStocklistEntity stocklistEntity = distributionReservationStocklistService.getOne(Wrappers.<DistributionReservationStocklistEntity>query().lambda()
// .eq(DistributionReservationStocklistEntity::getReservationId, stockupDTO.getReservationId())
// .eq(DistributionReservationStocklistEntity::getStocklistId, stockupDTO.getStockListId())
// .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationOrderStatusConstant.quxiao.getValue())
// );
//
// stocklistEntity
// .setReservationNum(stocklistEntity.getReservationNum() + 1);
// distributionReservationStocklistService.updateById(stocklistEntity);
//
// //维护对应库存品的冻结数量
// DistributionStockListEntity newStockListEntity = distributionStockListService.getById(stockupDTO.getStockListId());
// newStockListEntity.setQuantityOccupied(oldStockListEntity.getQuantityOccupied() + 1);
// distributionStockListService.updateById(newStockListEntity);
// }
// }
}
// 默认 计划数量和实际数量为0
return R.success("操作成功");
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml

@ -36,7 +36,7 @@
<select id="getParcelListInfo" resultType="com.logpm.distribution.entity.DistributionParcelListEntity">
select ldsa.mall_name mallName,ldpl.order_code orderCode,ldpl.id,ldpl.conditions,ldpl.order_package_code orderPackageCode,ldsa.id stockArticleId,
ldsa.mall_id mallId,ldsa.genre ,ldsa.is_zero isZero,
ldsa.mall_id mallId,ldsa.genre ,ldsa.is_zero isZero,ldpl.send_warehouse_name sendWarehouseName,ldpl.second,ldpl.third_product thirdProduct,
ldpl.waybill_number waybillNumber,ldpl.firsts,ldpl.quantity,ldpl.warehouse_id warehouseId,ldpl.material_name materialName,ldpl.material_code materialCode,
CASE WHEN ldpl.conditions = 1 THEN
(select GROUP_CONCAT(tray_id)
@ -94,7 +94,7 @@
(select GROUP_CONCAT(DISTINCT id)
from logpm_distribution_stock_list
where material_id = ldpl.material_id and incoming_batch = ldpl.order_code and market_id = ldsa.mall_id)
END stockId
END stockId ,ldsa.brand brandName
from logpm_distribution_stock_article ldsa
LEFT JOIN logpm_distribution_parcel_list ldpl on ldsa.id = ldpl.stock_article_id

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

@ -298,78 +298,78 @@
</select>
<select id="selectStockupStockListNew" resultType="com.logpm.distribution.vo.DistributionStockupStockListVO">
<!-- SELECT-->
<!--&lt;!&ndash; ldslNew.id AS stockListId,&ndash;&gt;-->
<!-- ldslNew.sku AS sku,-->
<!-- ldslNew.cargo_number AS cargoNumber,-->
<!-- ldslNew.description_goods AS materialName,-->
<!-- ldslNew.cargo_norms AS cargoNorms,-->
<!-- ldslNew.cargo_unit AS cargoUnit,-->
<!-- ldslNew.tray_name AS trayName,-->
<!-- ldslNew.unpack AS unpack,-->
<!-- ldslNew.source_type AS sourceType,-->
<!-- count(ldss.id) AS realNum,-->
<!--&lt;!&ndash; t.deliveryDetailsId AS deliveryDetailsId,&ndash;&gt;-->
<!-- t.reservation_num as planNum,-->
<!-- (-->
<!-- select GROUP_CONCAT( DISTINCT (allocation_id)) from logpm_warehouse_updown_goods where association_value =ldslNew.cargo_number or association_value in (-->
<!-- SELECT order_package_code from logpm_distribution_parcel_list where conditions=2 and material_code=ldslNew.cargo_number)-->
<!-- ) as allocations-->
<!-- FROM-->
<!-- (-->
<!-- SELECT-->
<!-- ldsl.cargo_number,-->
<!-- ldsl.description_goods,-->
<!-- ldsl.id,-->
<!-- ldrs.id as deliveryDetailsId,-->
<!-- ldrs.reservation_num-->
<!-- FROM-->
<!-- logpm_distribution_reservation_stocklist ldrs-->
<!-- LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id-->
<!-- WHERE-->
<!-- ldrs.reservation_id = #{reservationId}-->
<!-- ) t-->
<!-- LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number-->
<!-- LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = t.id where ldslNew.is_deleted = 0-->
SELECT
ldsl.sku AS sku,
ldsl.cargo_number AS cargoNumber,
ldsl.description_goods AS materialName,
ldsl.cargo_norms AS cargoNorms,
ldsl.cargo_unit AS cargoUnit,
ldsl.tray_name AS trayName,
ldsl.unpack AS unpack,
ldsl.source_type AS sourceType,
ldrs.stocklist_id AS stockListId,
ldrs.reservation_num AS planNum,
(SELECT COUNT(ldss.id) FROM logpm_distribution_stock AS ldss WHERE ldss.stock_list_id = ldsl.id ) AS realNum,
CASE
ldsl.source_type
WHEN 1 THEN
<!-- ldslNew.id AS stockListId,-->
ldslNew.sku AS sku,
ldslNew.cargo_number AS cargoNumber,
ldslNew.description_goods AS materialName,
ldslNew.cargo_norms AS cargoNorms,
ldslNew.cargo_unit AS cargoUnit,
ldslNew.tray_name AS trayName,
ldslNew.unpack AS unpack,
ldslNew.source_type AS sourceType,
count(ldss.id) AS realNum,
<!-- t.deliveryDetailsId AS deliveryDetailsId,-->
t.reservation_num as planNum,
(
SELECT
group_concat( DISTINCT lwug.allocation_id ) AS allocations
select GROUP_CONCAT( DISTINCT (allocation_id)) from logpm_warehouse_updown_goods where association_value =ldslNew.cargo_number or association_value in (
SELECT order_package_code from logpm_distribution_parcel_list where conditions=2 and material_code=ldslNew.cargo_number)
) as allocations
FROM
logpm_distribution_stock_list ldslnew
LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.order_code = ldslnew.incoming_batch
AND ldpl.material_id = ldslnew.material_id
AND ldpl.conditions = '2'
LEFT JOIN logpm_warehouse_updown_goods lwug ON lwug.association_value = ldpl.order_package_code
WHERE
ldslnew.id = ldsl.id AND lwug.association_type = '3'
)
WHEN 2 THEN
( SELECT group_concat( DISTINCT lwug.allocation_id ) AS allocations FROM logpm_warehouse_updown_goods lwug WHERE lwug.association_id = ldsl.material_id AND lwug.association_type = '4')
END allocations
(
SELECT
ldsl.cargo_number,
ldsl.description_goods,
ldsl.id,
ldrs.id as deliveryDetailsId,
ldrs.reservation_num
FROM
logpm_distribution_reservation_stocklist ldrs
LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id
LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = ldsl.id
WHERE
ldrs.reservation_id =#{reservationId}
ldrs.reservation_id = #{reservationId}
) t
LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number
LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = t.id where ldslNew.is_deleted = 0
<!-- SELECT-->
<!-- ldsl.sku AS sku,-->
<!-- ldsl.cargo_number AS cargoNumber,-->
<!-- ldsl.description_goods AS materialName,-->
<!-- ldsl.cargo_norms AS cargoNorms,-->
<!-- ldsl.cargo_unit AS cargoUnit,-->
<!-- ldsl.tray_name AS trayName,-->
<!-- ldsl.unpack AS unpack,-->
<!-- ldsl.source_type AS sourceType,-->
<!-- ldrs.stocklist_id AS stockListId,-->
<!-- ldrs.reservation_num AS planNum,-->
<!-- (SELECT COUNT(ldss.id) FROM logpm_distribution_stock AS ldss WHERE ldss.stock_list_id = ldsl.id ) AS realNum,-->
<!-- CASE-->
<!-- ldsl.source_type-->
<!-- WHEN 1 THEN-->
<!-- (-->
<!-- SELECT-->
<!-- group_concat( DISTINCT lwug.allocation_id ) AS allocations-->
<!-- FROM-->
<!-- logpm_distribution_stock_list ldslnew-->
<!-- LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.order_code = ldslnew.incoming_batch-->
<!-- AND ldpl.material_id = ldslnew.material_id-->
<!-- AND ldpl.conditions = '2'-->
<!-- LEFT JOIN logpm_warehouse_updown_goods lwug ON lwug.association_value = ldpl.order_package_code-->
<!-- WHERE-->
<!-- ldslnew.id = ldsl.id AND lwug.association_type = '3'-->
<!-- )-->
<!-- WHEN 2 THEN-->
<!-- ( SELECT group_concat( DISTINCT lwug.allocation_id ) AS allocations FROM logpm_warehouse_updown_goods lwug WHERE lwug.association_id = ldsl.material_id AND lwug.association_type = '4')-->
<!-- END allocations-->
<!-- FROM-->
<!-- logpm_distribution_reservation_stocklist ldrs-->
<!-- LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id-->
<!-- LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = ldsl.id-->
<!-- WHERE-->
<!-- ldrs.reservation_id =#{reservationId}-->
</select>
<select id="selectOrderNumByReservationId" resultType="Integer">

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml

@ -96,7 +96,7 @@
<select id="getStockListInfo" resultType="com.logpm.distribution.vo.DistributionStockListVO">
select ldsl.market_name marketName,ldsl.incoming_batch incomingBatch,ldsl.quantity_stock quantityStock,ldsl.warehouse_id warehouseId,
ldsl.description_goods descriptionGoods,ldsl.cargo_number cargoNumber,ldsl.market_id marketId,ldsl.material_id materialId,
ldsl.id id
ldsl.id id,ldsl.brand_name brandName
from logpm_distribution_stock_list ldsl
<where>
ldsl.warehouse_id = #{par.warehouseId} and ldsl.quantity_stock > 0 and ldsl.source_type = 2

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -906,7 +906,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
loadingNum.getAndAdd(inventoryLoadingNum);
}
StringBuilder str = new StringBuilder();
str.append("装车").append(loadingNum.get() + "件");
str.append("装车").append(loadingNum.get() + "件");
if (abnormalLoadingNum.get() > 0) {
str.append("异常").append(abnormalLoadingNum.get() + "件");
}

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

@ -397,6 +397,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
} else if (Func.isEmpty(collect)) {
//这里就需要对该包件信息是否属于该配送计划进行判定。如果属于该配送计划则是串货。不是那么则需要提示是否异常签收或者返回的操作
//查询配送计划中是否存在该包件
DistributionParcelListEntity one = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode())
.eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())
);
if (Func.isNotEmpty(one) && one.getConditions() == 2){
log.error("#####################此包件不是定制品", one.getConditions());
return Resp.scanFail("此包件不是定制品", "此包件不是定制品");
}
List<DistributionParcelListEntity> parcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(distrilbutionloadingscanDTO.getDeliveryId());
//该货物是否属于该计划
List<DistributionParcelListEntity> distributionParcelListEntities = parcelListEntities.stream().filter(p -> p.getOrderPackageCode().equals(distrilbutionloadingscanDTO.getBarcode())).collect(Collectors.toList());

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

@ -2220,6 +2220,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
DisStockOrdercodeRecoEntity ordercodeRecoEntity = new DisStockOrdercodeRecoEntity();
DisStockOrdercodeRecoEntity one = disStockOrdercodeRecoService.getOne(Wrappers.<DisStockOrdercodeRecoEntity>query().lambda()
.eq(DisStockOrdercodeRecoEntity::getCode, stockupDTO.getPacketBarCode())
.eq(DisStockOrdercodeRecoEntity::getIsDeleted, 0)
);
if (ObjectUtils.isNotNull(one) && one.getCodeStatus().equals("1")) {
return 8;
@ -2926,6 +2927,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
*/
@Override
public R handlingPackages(StockupDTO stockupDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
return R.data(403,"未授权!!!");
}
//查询包件是不是属于该货位
WarehouseUpdownGoodsEntity warehouseUpdownGoods = new WarehouseUpdownGoodsEntity();
warehouseUpdownGoods.setAllocationId(stockupDTO.getAllocationId());
@ -2944,7 +2949,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
DistributionStockListEntity distributionStockListEntity = distributionStockListMapper.selectOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(DistributionStockListEntity::getIncomingBatch, byId.getOrderCode())
.eq(DistributionStockListEntity::getWarehouseId,stockupDTO.getWarehouseId())
.eq(DistributionStockListEntity::getWarehouseId,myCurrentWarehouse.getId())
);
if(ObjectUtils.isNull(distributionStockListEntity)){
return R.fail("该包件不是库存品!");
@ -2959,13 +2964,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
Optional<DistributionReservationStocklistEntity> first = list.stream().filter(i -> i.getStocklistId().equals(distributionStockListEntity.getId())).findFirst();
if(first.isPresent()){
if(!first.isPresent()){
//没有一样的库存品数据
return R.fail("没有一样的库存品数据");
}
//判断数量是否可以直接备货
DistributionReservationStocklistEntity reservationStocklistEntity1 = first.get();
if(reservationStocklistEntity1.getRealityNum() > reservationStocklistEntity1.getReservationNum()){
if(reservationStocklistEntity1.getRealityNum() < reservationStocklistEntity1.getReservationNum()){
return R.success("可以直接备货!");
}
List<DistributionReservationStocklistEntity> keYi = new ArrayList<>(); //可以操作的库存品
@ -2974,7 +2979,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
DistributionStockListEntity distributionStockListEntity1 = distributionStockListMapper.selectById(i.getStocklistId());
if(distributionStockListEntity1.getDescriptionGoods().equals(distributionStockListEntity.getDescriptionGoods())
&& distributionStockListEntity1.getCargoNumber().equals(distributionStockListEntity.getCargoNumber())
&& i.getRealityNum() > i.getReservationNum() ){
&& i.getRealityNum() < i.getReservationNum() ){
keYi.add(i);
}
});
@ -2990,7 +2995,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
);
//修改可以修改的库存平
Optional<DistributionReservationStocklistEntity> collect2 = keYi.stream().filter(i -> i.getStocklistId().equals(distributionStockListEntities.get(0).getId())).findFirst();
if(!collect2.isPresent()){
if(collect2.isPresent()){
DistributionReservationStocklistEntity distributionReservationStocklistEntity = collect2.get();
Integer reservationNum = distributionReservationStocklistEntity.getReservationNum() - 1;
@ -3033,9 +3038,16 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
//回复冻结数量
DistributionStockListEntity distributionStockList = new DistributionStockListEntity();
distributionStockList.setId(distributionReservationStocklistEntity.getStocklistId());
distributionStockList.setQuantityStock(distributionStockListEntity.getQuantityStock() + 1);
distributionStockList.setQuantityOccupied(distributionStockListEntity.getQuantityOccupied() -1);
distributionStockListMapper.updateById(distributionStockList);
//扣减新添加库存品数
DistributionStockListEntity newDistributionStockList = new DistributionStockListEntity();
newDistributionStockList.setId(reservationStocklistEntity1.getStocklistId());
newDistributionStockList.setQuantityOccupied(distributionStockListEntity.getQuantityOccupied() + 1);
distributionStockListMapper.updateById(newDistributionStockList);
}
return R.success("成功!!");
}

34
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java

@ -24,10 +24,12 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.io.IOUtils;
import org.jetbrains.annotations.NotNull;
import org.springblade.common.constant.RabbitConstant;
import org.springblade.common.constant.RedisKeyConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.CommonUtil;
import org.springblade.common.utils.FileLogsUtil;
import org.springblade.core.oss.model.BladeFile;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.resource.feign.IOssClient;
@ -85,6 +87,9 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
@Autowired
private IOpPackagePushLogService opPackagePushLogService;
@Autowired
private BladeRedis bladeRedis;
@Override
public String saveOuPaiFactoryOrderDTOByCarCarNumber(String code) {
@ -288,11 +293,20 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
public Boolean checkReceivingOrder(String code) {
Boolean isUpdate = false;
String o = bladeRedis.get(RedisKeyConstant.cache_oupai_key + code);
if(code.equals(o)){
return true;
}
LambdaQueryWrapper<ReceivingOrderEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ReceivingOrderEntity::getCode, code);
List<ReceivingOrderEntity> receivingOrderEntities = receivingOrderMapper.selectList(lambdaQueryWrapper);
if (ObjectUtils.isNotNull(receivingOrderEntities)) {
isUpdate = true;
// 加入缓存
bladeRedis.setEx(RedisKeyConstant.cache_oupai_key+code,code,60*60*60L);
}
return isUpdate;
}
@ -631,6 +645,17 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
//新发车单数据
ReceivingOrderEntity receivingOrderEntity = new ReceivingOrderEntity();
receivingOrderEntity.setCode(code);
LambdaQueryWrapper<ReceivingOrderEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ReceivingOrderEntity::getCode,code);
List<ReceivingOrderEntity> receivingOrderEntities = receivingOrderMapper.selectList(lambdaQueryWrapper);
if(ObjectUtils.isNotNull(receivingOrderEntities)){
log.info(">>>>>>>>>>>>>>>>>>>>>>> 收货单已存在 {} ",code);
return ;
}
String type = valueObject.getString("Type");
if ("中转".equals(type)) {
receivingOrderEntity.setType(1);
@ -796,6 +821,12 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
factoryOrderEntity.setReceiptStatus(0);
factoryOrderEntity.setPushStatus(0);
factoryOrderEntity.setTurnStatus(0);
//
boolean save = factoryOrderService.save(factoryOrderEntity);
if (!save) {
log.warn("############handleData: 保存订单失败 selfCode={}", selfCode);
@ -807,7 +838,10 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
String packageCode = packageEntity.getString("Code");
QueryWrapper<FactoryPackageEntity> packageEntityQueryWrapper = new QueryWrapper<>();
packageEntityQueryWrapper.eq("code", packageCode);
FactoryPackageEntity factoryPackageEntity = factoryPackageService.getOne(packageEntityQueryWrapper);
if (Objects.isNull(factoryPackageEntity)) {
factoryPackageEntity = new FactoryPackageEntity();
factoryPackageEntity.setOrderId(orderId);

6
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/TaskQuestController.java

@ -136,7 +136,7 @@ public class TaskQuestController extends BladeController {
/**
* 查询盘点明细数据
* 盘点任务 查询盘点明细数据
* @return
*/
@GetMapping("/getDetailInfo")
@ -148,7 +148,7 @@ public class TaskQuestController extends BladeController {
}
/**
* 查询盘点对比数据
*盘点任务 查询盘点对比数据
* @return
*/
@GetMapping("/getContrastInfo")
@ -161,7 +161,7 @@ public class TaskQuestController extends BladeController {
/**
* 查询盘点对比数据
* 导出数据 查询盘点对比数据
* @return
*/
@GetMapping("/export-getContrastInfo")

5
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/QuestDetailDTO.java

@ -49,6 +49,11 @@ public class QuestDetailDTO extends QuestDetailEntity {
private String cargoName;//盘点的包件状态名称
private String startTime;// 开始时间
private String endTime;// 结束时间
}

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

@ -118,6 +118,11 @@
`incoming_batch` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次号(库存品)',
`material_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称(库存品)',
`waybill_number` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '运单号',
`send_warehouse_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发站仓名称',
`tray_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '托盘名称',
`brand_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品牌名称',
`inventory_time` datetime(0) NULL DEFAULT NULL COMMENT '盘点时间',
`inventory_user` bigint(20) NULL DEFAULT NULL COMMENT '盘点人',
PRIMARY KEY (`id`) USING BTREE,
INDEX `quest_id_index`(`quest_id`,`tenant_id`) USING BTREE COMMENT '任务id',
INDEX `order_id_index`(`order_id`) USING BTREE COMMENT '订单id',
@ -133,14 +138,14 @@
`is_deleted`, `status`, `reserve1`, `reserve2`, `reserve3`, `reserve4`, `reserve5`, `order_code`, `quest_id`, `order_id`, `quest_type`, `quest_target`,
`order_package_code`, `order_package_id`, `category_name`, `stock_id`, `quest_status`, `stock_num`, `warehouse_id`, `position_code`, `tray_code`, `tray_id`,
`allocation_id`, `grounding_allocation_id`, `is_new`, `grounding_position_code`, `material_code`, `market_name`, `firsts`, `second`,
`third_product`, `incoming_batch`, `material_name`, `waybill_number`) VALUES
`third_product`, `incoming_batch`, `material_name`, `waybill_number`,`send_warehouse_name`,`tray_name`,`brand_name`) VALUES
<foreach collection="list" item="item" separator=",">
(#{item.id}, #{item.tenantId}, #{item.createUser}, #{item.createTime}, #{item.updateUser}, #{item.updateTime}, #{item.createDept}, #{item.isDeleted}
, #{item.status}, #{item.reserve1}, #{item.reserve2}, #{item.reserve3}, #{item.reserve4}, #{item.reserve5}, #{item.orderCode}, #{item.questId}, #{item.orderId}
, #{item.questType}, #{item.questTarget}, #{item.orderPackageCode}, #{item.orderPackageId}, #{item.categoryName}, #{item.stockId}, #{item.questStatus},
#{item.stockNum}, #{item.warehouseId} , #{item.positionCode}, #{item.trayCode}, #{item.trayId}, #{item.allocationId}, #{item.groundingAllocationId},
#{item.isNew}, #{item.groundingPositionCode}, #{item.materialCode}, #{item.marketName} , #{item.firsts} , #{item.second} ,
#{item.thirdProduct} , #{item.incomingBatch}, #{item.materialName}, #{item.waybillNumber}
#{item.thirdProduct} , #{item.incomingBatch}, #{item.materialName}, #{item.waybillNumber}, #{item.sendWarehouseName},#{item.trayName},#{item.brandName}
)
</foreach>
@ -235,11 +240,17 @@
<if test="param.allocationId != null and param.allocationId != ''">and allocation_id =#{param.allocationId } </if>
<if test="param.trayId != null and param.trayId != ''">and tray_id =#{param.trayId } </if>
<if test="param.orderCode != null and param.orderCode != ''">and order_code like concat('%',#{param.orderCode },'%') </if>
<if test="param.categoryName != null and param.categoryName != ''">and category_name like concat('%'#{param.categoryName },'%') </if>
<if test="param.categoryName != null and param.categoryName != ''">and category_name like concat('%',#{param.categoryName },'%') </if>
<if test="param.materialCode != null and param.materialCode != ''">and material_code like concat('%',#{param.materialCode },'%') </if>
<if test="param.trayCode != null and param.trayCode != ''">and tray_code like concat('%',#{param.trayCode },'%') </if>
<if test="param.trayName != null and param.trayName != ''">and tray_name like concat('%',#{param.trayName },'%') </if>
<if test="param.brandName != null and param.brandName != ''">and brand_name like concat('%',#{param.brandName },'%') </if>
<if test="param.marketName != null and param.marketName != ''">and market_name like concat('%',#{param.marketName},'%') </if>
<if test="param.materialName != null and param.materialName != ''">and material_name like concat('%',#{param.materialName},'%') </if>
<if test="param.positionCode != null and param.positionCode != ''">and position_code like concat('%',#{param.positionCode},'%') </if>
<if test="param.orderPackageCode != null and param.orderPackageCode != ''">and order_package_code =#{param.orderPackageCode } </if>
<if test="param.inventoryUser != null and param.inventoryUser != ''">and inventory_user like concat('%',#{param.inventoryUser },'%') </if>
<if test="param.startTime != null and param.startTime != ''"> and inventory_time BETWEEN #{param.startTime } and #{param.endTime}</if>
<if test="param.marketNames != null">
and material_name in
<foreach collection="param.marketNames" item="a" open="(" close=")" separator=",">
@ -304,6 +315,8 @@
<if test="item.allocationId != null and item.allocationId != null">allocation_id = #{item.allocationId },</if>
<if test="item.updateUser != null and item.updateUser != null">update_user = #{item.updateUser },</if>
<if test="item.updateTime != null and item.updateTime != null">update_time = #{item.updateTime },</if>
<if test="item.inventoryUser != null and item.inventoryUser != null">inventory_user = #{item.inventoryUser },</if>
<if test="item.inventoryTime != null ">inventory_time = #{item.inventoryTime }, </if>
<!-- <if test="item. != null and item. != null"> = #{item. }</if>
<if test="item. != null and item. != null"> = #{item. }</if>
<if test="item. != null and item. != null"> = #{item. }</if>

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

@ -177,6 +177,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
BladeUser user = AuthUtil.getUser();
if(!parcelListInfo.isEmpty()){
List<QuestDetailEntity> detailEntityList = new ArrayList<>();
//查询查询托盘名称
List<BasicdataTrayEntity> trayEntityList = basicdataTrayClient.getTrayEntityList();
parcelListInfo.forEach( i ->{
QuestDetailEntity detailEntity = new QuestDetailEntity();
@ -190,8 +192,20 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
detailEntity.setQuestId(taskQuest);
detailEntity.setOrderCode(i.getOrderCode());
detailEntity.setOrderId(i.getStockArticleId());
detailEntity.setSendWarehouseName(i.getSendWarehouseName());
detailEntity.setBrandName(i.getBrandName());
// detailEntity.setQuestType();
//盘点对象;1.定制品 2零担 3 库存品
//查询托盘名称
if(ObjectUtils.isNotNull(i.getTrayId())){
// boolean b = trayEntityList.stream().anyMatch(a -> i.getTrayId().equals(String.valueOf(a.getId()) ));
// log.info("托盘是否有值>>>>>>>>>>{}",b);
Optional<BasicdataTrayEntity> first = trayEntityList.stream().filter(t -> i.getTrayId().equals(String.valueOf(t.getId()))).findFirst();
if(first.isPresent()){
BasicdataTrayEntity basicdataTrayEntity = first.get();
detailEntity.setTrayName(basicdataTrayEntity.getPalletName());
}
}
if(ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(1) ){
detailEntity.setQuestTarget(i.getConditions());
}else if(ObjectUtils.isNotNull(i.getConditions()) && i.getConditions().equals(2)){
@ -356,6 +370,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
detailEntity.setIncomingBatch(i.getOrderCode());
detailEntity.setWarehouseId(i.getWarehouseId());
detailEntity.setIsNew(0);
detailEntity.setBrandName(i.getBrand());
//查询货位
QueryWrapper<WarehouseUpdownGoodsEntity> qw = new QueryWrapper<>();
qw.eq("warehouse_id",i.getWarehouseId());
@ -436,6 +451,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
detailEntity.setIncomingBatch(i.getOrderCode());
detailEntity.setWarehouseId(i.getWarehouseId());
detailEntity.setIsNew(0);
detailEntity.setBrandName(i.getBrandName());
//查询货位
QueryWrapper<WarehouseUpdownGoodsEntity> qw = new QueryWrapper<>();
qw.eq("warehouse_id",i.getWarehouseId());
@ -719,24 +735,26 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",i);
//查询当前包件盘点状态
boolean b = questDetailList.stream().anyMatch(q -> q.getId().equals(i) && q.getQuestStatus().equals(1));
if(b){
s.set(true);
}
// boolean b = questDetailList.stream().anyMatch(q -> q.getId().equals(i) && q.getQuestStatus().equals(1));
// if(b){
// s.set(true);
// }
QuestDetailEntity questDetail = new QuestDetailEntity();
questDetail.setId(Long.valueOf(i));
questDetail.setQuestStatus(1);
questDetail.setUpdateUser(user.getUserId());
questDetail.setUpdateTime(new Date());
questDetail.setInventoryUser(user.getUserId());
questDetail.setInventoryTime(new Date());
// questDetail.setId(Long.valueOf(i));
// questDetail.setQuestStatus(1);
list.add(questDetail);
});
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tag {}",1);
if(s.get()){
return Resp.scanFail("包含已盘点的数据!请勿重复提交!","包含已盘点的数据!请勿重复提交!");
}
// if(s.get()){
// return Resp.scanFail("包含已盘点的数据!请勿重复提交!","包含已盘点的数据!请勿重复提交!");
// }
baseMapper.updatePositionCodeList(questNum,list);
}
//处理盘点的包件
@ -867,7 +885,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
QuestDetailVO questDetailVO = new QuestDetailVO();
BeanUtil.copyProperties(i,questDetailVO);
//查询包件信息
if(ObjectUtils.isNotNull(i.getOrderPackageId()) ){
/*if(ObjectUtils.isNotNull(i.getOrderPackageId()) ){
DistributionParcelListEntity parcelListId = distributionParcelListClient.getParcelListId(String.valueOf(i.getOrderPackageId()));
if(ObjectUtils.isNotNull(parcelListId)){
@ -878,7 +896,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
questDetailVO.setMaterialCode(parcelListId.getMaterialCode());
questDetailVO.setBrandName(parcelListId.getBrandName());
}
}else if(i.getQuestTarget().equals(2)){
}else*/
/* if(i.getQuestTarget().equals(2)){
//零担
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setWarehouseId(i.getWarehouseId());
@ -901,14 +920,14 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
questDetailVO.setMaterialCode(stockListById.getCargoNumber () );
questDetailVO.setBrandName(stockListById.getBrandName());
}
}
if(ObjectUtils.isNotNull(i.getTrayId())){
}*/
/*if(ObjectUtils.isNotNull(i.getTrayId())){
//查询托盘名称
List<BasicdataTrayEntity> trayEntityList = basicdataTrayClient.getTrayEntityList(i.getTrayId());
if(ObjectUtils.isNotNull(trayEntityList)){
questDetailVO.setTrayName(trayEntityList.get(0).getPalletName());
}
}
}*/
if(!i.getQuestStatus().equals(0)){
R<List<User>> listR = userSearchClient.listByUser(String.valueOf(i.getUpdateUser()));
if(ObjectUtils.isNotNull(listR.getData())){

Loading…
Cancel
Save