Browse Source

1.增加自提任务新建备货任务

training
pref_mail@163.com 2 years ago
parent
commit
9eab6dea7f
  1. 48
      blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupTypeConstant.java
  2. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java
  3. 98
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java
  4. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java
  5. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillLadingService.java
  6. 58
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  7. 382
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java
  8. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistrilbutionBillLadingWrapper.java

48
blade-biz-common/src/main/java/org/springblade/common/constant/stockup/StockupTypeConstant.java

@ -0,0 +1,48 @@
package org.springblade.common.constant.stockup;
/**
* 备货任务类型
* 对应码表
* stockup_status
* @author pref
*/
public enum StockupTypeConstant {
shipei("市配","1"),
shangpei("商配","2"),
ziti("自提","3");
/**
* 状态
*/
private String name;
/**
*
*/
private String value;
private StockupTypeConstant(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockupEntity.java

@ -128,7 +128,7 @@ public class DistributionStockupEntity extends TenantEntity {
/**
* 叉车司机
*/
@ApiModelProperty(value = "叉车司机")
@ApiModelProperty(value = "叉车司机名称")
private String forkliftName;
/**
* 装卸班组

98
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java

@ -120,107 +120,13 @@ public class DistrilbutionBillLadingEntity extends TenantEntity {
@TableField(exist = false)
private Map<String,String> fei;
/**
* 叉车司机
*/
@ApiModelProperty(value = "叉车司机")
private Long forkliftId;
/**
* 装卸班组
*/
@ApiModelProperty(value = "装卸班组")
private Long loaderId;
/**
* 叉车司机
*/
@ApiModelProperty(value = "叉车司机")
private String forkliftName;
/**
* 装卸班组
*/
@ApiModelProperty(value = "装卸班组")
private String loaderName;
/**
* 备货人id
*/
@ApiModelProperty(value = "备货人id")
private Long stockupUserId;
/**
* 确认完成备货时间
*/
@ApiModelProperty(value = "确认完成备货时间")
private Date fixTime;
/**
* 指派时间
*/
@ApiModelProperty(value = "指派时间")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
private Date assignTime;
/**
* 出库时间
*/
@ApiModelProperty(value = "出库时间")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
private Date outboundDate;
/**
* 备货状态 1待指派 2 待备货 3备货中 4已备货
*/
@ApiModelProperty(value = "备货状态")
private String stockupStatus;
/**
* 备货区
*/
@ApiModelProperty(value = "备货区")
private String stockupArea;
/**
* 指派状态;1-未指派2-已指派
*/
@ApiModelProperty(value = "指派状态;1-未指派、2-已指派")
private String assignStatus;
/**
* 备货库位
*/
@ApiModelProperty(value = "备货库位")
private String stockipAllocation;
/**
* 备货时间
*/
@ApiModelProperty(value = "备货时间")
private Date stockupDate;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
private String stockupUser;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
@TableField(exist = false)
private String startDate;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
@TableField(exist = false)
private String entDate;
/**
* 备货编码
*/
@ApiModelProperty(value = "备货编码")
private String stockupCode;
/**
* 备货人
*/
@ApiModelProperty(value = "备货人")
private String goodsAreaId;
@ApiModelProperty(value = "提货状态")
private String conditions; //提货状态
}

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

@ -77,6 +77,8 @@ public interface IDistributionReservationService extends BaseService<Distributio
*/
boolean insertReservation(DistributionReservationDTO distributionReservationDTO);
String bianMa();
/**
* 批量预约转备货任务
* @param stockUpInfo 备货信息

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

@ -136,4 +136,5 @@ public interface IDistrilbutionBillLadingService extends BaseService<Distrilbuti
List<DistrilbutionBillLadingViewVO> getViewDetailOwn(String id);
}

58
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -146,9 +146,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
private IBasicdataWarehouseClient basicdataWarehouseClient;
@Autowired
private BladeRedis bladeRedis;
private BladeRedis bladeRedis;
@Override
@ -357,9 +355,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// str = str.replaceFirst(",","");
//拼接在库和库存订单编号
reservationEntity.setStockArticleId(str);
reservationEntity.setWarehouseName(String.join(",",warehouseNames));
reservationEntity.setMallName(String.join(",",mallName));
reservationEntity.setStoreName(String.join(",",storeName));
reservationEntity.setWarehouseName(String.join(",", warehouseNames));
reservationEntity.setMallName(String.join(",", mallName));
reservationEntity.setStoreName(String.join(",", storeName));
//统计数量
BigDecimal fee = initTotal.get().add(reservationEntity.getOtherFee());
reservationEntity.setFee(fee);
@ -378,7 +376,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionReservationMapper.updateById(reservationEntity);
return true;
}
public String bianMa(){
@Override
public String bianMa() {
// String code ="BH";
StringBuilder sb = new StringBuilder();
sb.append("BH");
@ -386,13 +386,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
String format1 = format.format(new Date());
BasicdataWarehouseEntity warehouseByDepartment = basicdataWarehouseClient.getWarehouseByDepartment(user.getDeptId());
if(ObjectUtil.isNotEmpty(warehouseByDepartment)){
if (ObjectUtil.isNotEmpty(warehouseByDepartment)) {
sb.append(warehouseByDepartment.getWarehouseCode());
sb.append(format1);
String s = "BH" + warehouseByDepartment.getWarehouseCode();
String s1 = jiShuan(s);
sb.append(s1);
}else{
} else {
sb.append("00000");
sb.append(format1);
String s = "BH" + "00000";
@ -404,43 +404,43 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
private String jiShuan(String s) {
String n = "00001";
if(Func.notNull(bladeRedis.get(s))){
if (Func.notNull(bladeRedis.get(s))) {
Object o1 = bladeRedis.get(s);
int anInt = Integer.parseInt(String.valueOf(o1));
if (anInt < 10) {
if(anInt + 1 == 10){
if (anInt + 1 == 10) {
n = String.format("000%d", anInt + 1);
}else{
} else {
n = String.format("0000%d", anInt + 1);
}
} else if (anInt < 100) {
if(anInt + 1 == 100){
if (anInt + 1 == 100) {
n = String.format("00%d", anInt + 1);
}else{
} else {
n = String.format("000%d", anInt + 1);
}
} else if (anInt < 1000) {
if(anInt + 1 == 1000){
if (anInt + 1 == 1000) {
n = String.format("0%d", anInt + 1);
}else{
} else {
n = String.format("00%d", anInt + 1);
}
} else if (anInt < 10000) {
if(anInt + 1 == 10000){
if (anInt + 1 == 10000) {
n = String.format("%d", anInt + 1);
}else{
} else {
n = String.format("0%d", anInt + 1);
}
}else {
} else {
n = String.valueOf(anInt + 1);
}
bladeRedis.set(s,n);
bladeRedis.set(s, n);
return n;
}else{
bladeRedis.set(s,n);
} else {
bladeRedis.set(s, n);
return n;
}
}
@ -758,14 +758,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionDeliveryListEntity.setDriverName(driverNames.deleteCharAt(driverNames.length() - 1).toString());
distributionDeliveryListEntity.setVehicleName(vehicleNubs.deleteCharAt(vehicleNubs.length() - 1).toString());
}
distributionDeliveryListEntity.setWarehouseName(String.join(",",warehouseNames));
distributionDeliveryListEntity.setWarehouseName(String.join(",", warehouseNames));
distributionDeliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.daipeisong.getValue());
distributionDeliveryListEntity.setCustomersNumber(reservationIds.split(",").length);
distributionDeliveryListEntity.setOrderNumber(orderNum.get());
distributionDeliveryListEntity.setType(DistributionTypeConstant.shipie.getValue());
distributionDeliveryListEntity.setOrderCode(String.join(",", hashSet));
distributionDeliveryListEntity.setTaskTime(allocationDTO.getTaskTime());
distributionDeliveryListEntity.setNoteNumber(Func.random(13,RandomType.INT));
distributionDeliveryListEntity.setNoteNumber(Func.random(13, RandomType.INT));
// if (orderIds.length() > 1) {
// distributionDeliveryListEntity.setOrderId(orderIds.deleteCharAt(orderIds.length() - 1).toString());
// }
@ -990,13 +990,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionReservationEntity reservationEntity = this.getById(id);
Integer reservationNum = reservationEntity.getReservationNum();
reservationEntity.setOtherFee(distributionReservationDTO.getOtherFee());
reservationEntity.setWarehouseName(String.join(",",warehouseNames));
reservationEntity.setWarehouseName(String.join(",", warehouseNames));
reservationEntity.setDeliveryType(DistributionTypeConstant.shipie.getValue());
reservationEntity.setDeliveryWay(distributionReservationDTO.getDeliveryWay());
reservationEntity.setServeType(distributionReservationDTO.getServeType());
reservationEntity.setReservationNum(packTotal.get());
reservationEntity.setMallName(String.join(",",mallName));
reservationEntity.setStoreName(String.join(",",storeName));
reservationEntity.setMallName(String.join(",", mallName));
reservationEntity.setStoreName(String.join(",", storeName));
reservationEntity.setReservationStockListNum(inventorTotal.get());
reservationEntity.setReservationDate(distributionReservationDTO.getReservationDate());
reservationEntity.setPeriodOfTime(distributionReservationDTO.getPeriodOfTime());
@ -1254,10 +1254,10 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (!Func.isEmpty(taskTime)) {
distributionDeliveryListEntity.setTaskTime(taskTime);
}
distributionDeliveryListEntity.setWarehouseName(String.join(",",deliveryWarehouseName));
distributionDeliveryListEntity.setWarehouseName(String.join(",", deliveryWarehouseName));
distributionDeliveryListEntity.setOrderCode(String.join(",", orderNumber));
distributionDeliveryListEntity.setOrderNumber(orderTotal.get());
distributionDeliveryListEntity.setNoteNumber(Func.random(13,RandomType.INT));
distributionDeliveryListEntity.setNoteNumber(Func.random(13, RandomType.INT));
distributionDeliveryListEntity.setCustomersNumber(clientNum.get());
distributionDeliveryListService.updateById(distributionDeliveryListEntity);
return R.status(true);

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

@ -45,6 +45,7 @@ import org.springblade.common.constant.order.OrderReservationStatusConstant;
import org.springblade.common.constant.order.OrderStatusConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
import org.springblade.common.constant.stockup.StockupStatusConstant;
import org.springblade.common.constant.stockup.StockupTypeConstant;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
@ -76,7 +77,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
private final IDistributionDeliveryDetailsService distributionDeliveryDetailsService;
private final DistributionReservationServiceImpl distributionReservationService;
private final IDistributionReservationService distributionReservationService;
private final IDistributionPrintService distributionPrintService;
@ -90,9 +91,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
private final IDistributionStockupScanService distributionStockupScanService;
private final IDistributionStockListService distributionStockListService;
private final IDistributionAsyncService distributionAsyncService;
private final IDistributionStockService distributionStockService;
private final IDistributionStockListService distributionStockListService;
private final IDistributionAsyncService distributionAsyncService;
private final IDistributionStockService distributionStockService;
private final IDistributionStockupService distributionStockupService;
private final IDistributionStockupInfoService distributionStockupInfoService;
@Override
@ -120,13 +123,13 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
this.updateById(distrilbutionBillLading);
//修改图片
List<DistributionPrintEntity> printEntityList = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda().eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLading.getId()));
if(printEntityList.size() > 0){
if(distrilbutionBillLading.getMark()){
if (printEntityList.size() > 0) {
if (distrilbutionBillLading.getMark()) {
//要删除
List<Long> collect = printEntityList.stream().map(DistributionPrintEntity::getId).collect(Collectors.toList());
distributionPrintService.deleteLogic(collect);
//操作图片
if(distrilbutionBillLading.getPrintList().size() > 0){
if (distrilbutionBillLading.getPrintList().size() > 0) {
addPrint(distrilbutionBillLading);
}
}
@ -135,7 +138,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List<DistributionDeliveryChargeEntity> list = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda()
.eq(DistributionDeliveryChargeEntity::getBillLading, distrilbutionBillLading.getId())
);
if(list.size() > 0){
if (list.size() > 0) {
list.forEach(i -> {
String s = distrilbutionBillLading.getFei().get(i.getCost());
if (StringUtils.isNotBlank(s)) {
@ -152,9 +155,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
});
}
//修改订单数据
if(distrilbutionBillLading.getStockArticleList().size() > 0){
if (distrilbutionBillLading.getStockArticleList().size() > 0) {
boolean order = getOrder(distrilbutionBillLading.getStockArticleList(), distrilbutionBillLading.getId());
if(!order){
if (!order) {
throw new ServiceException("修改失败!!");
}
}
@ -180,7 +183,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if (b) {
//有
Iterator<DistributionStockListDTO> iterator = distrilbutionBillLading.getStockDTOList().iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
DistributionStockListDTO next = iterator.next();
if (i.getStockListId().equals(next.getId())) {
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity();
@ -191,10 +194,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Integer quantity = i.getQuantity();//原来的数量
Integer num = 0;
if(inventoryQuantity > quantity){
if (inventoryQuantity > quantity) {
num = inventoryQuantity - quantity; //多 添加了数量
//修改库存占用数量
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,1);
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), num, 1);
//kk备货
if (i.getConditions().equals("2")) {
//xiugai
@ -203,7 +206,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
d.setConditions("1");
distributionDeliveryDetailsService.updateById(d);
}
}else if(inventoryQuantity < quantity){
} else if (inventoryQuantity < quantity) {
num = quantity - inventoryQuantity; //少 减少了数量
/*if(list1.size() < 1){
@ -211,18 +214,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//有备货
}*/
if(i.getConditions().equals("2")){
if (i.getConditions().equals("2")) {
//todo 已完成
}else{
} else {
//todo 未完成
int size = list1.size(); //扫描的数量
int i1 = quantity - size; //未扫的数量
if(i1 > num){
if (i1 > num) {
//可以减少
//修改库存占用数量
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,2);
}else{
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), num, 2);
} else {
//todo 未扫小于减少
}
@ -236,9 +239,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
} else {
if(list1.size() < 1){
if (list1.size() < 1) {
//取消库存占用数量
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),i.getQuantity(),2);
distributionAsyncService.getInventoryNumUpdate(i.getStockListId(), i.getQuantity(), 2);
}
//没有 删除
ids.add(i.getId());
@ -246,8 +249,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
});
//删除没有的库存品
if(ids.size() > 0){
ids.forEach( a ->{
if (ids.size() > 0) {
ids.forEach(a -> {
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity();
deliveryDetails.setId(a);
deliveryDetails.setInventoryStatus("3");
@ -258,14 +261,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
} else {
//新增
distrilbutionBillLading.setAssignStatus(StockAssignStatusConstant.weizhipai.getValue());
distrilbutionBillLading.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
distrilbutionBillLading.setConsignee("1");
distrilbutionBillLading.setStockupCode(distributionReservationService.bianMa());
this.save(distrilbutionBillLading);
this.saveDistrilbutionBillLading(distrilbutionBillLading);
//修改订单状态
if(StringUtils.isNotBlank(distrilbutionBillLading.getStockArticleId())){
if (StringUtils.isNotBlank(distrilbutionBillLading.getStockArticleId())) {
String[] split = distrilbutionBillLading.getStockArticleId().split(",");
for (String s : split) {
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity();
@ -284,14 +285,15 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
}
//操作图片
if(distrilbutionBillLading.getPrintList().size() > 0){
if (distrilbutionBillLading.getPrintList().size() > 0) {
addPrint(distrilbutionBillLading);
}
}
//添加库存品信息
if(distrilbutionBillLading.getStockDTOList().size() > 0){
if (distrilbutionBillLading.getStockDTOList().size() > 0) {
//没有
List<DistributionDeliveryDetailsEntity> detailsEntities = new ArrayList<>();
Boolean finalLas = las;
@ -301,20 +303,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
details.setStockListId(i.getId());
details.setQuantity(i.getInventoryQuantity());
details.setConditions("1");
if(finalLas){
if (finalLas) {
details.setInventoryStatus("2");
}else{
} else {
details.setInventoryStatus("1");
}
detailsEntities.add(details);
//修改库存数量
distributionAsyncService.getInventoryNumUpdate(i.getId(),i.getInventoryQuantity(),1);
distributionAsyncService.getInventoryNumUpdate(i.getId(), i.getInventoryQuantity(), 1);
});
distributionDeliveryDetailsService.saveBatch(detailsEntities);
}
//添加费用
if(distrilbutionBillLading.getFei().size() > 0){
if (distrilbutionBillLading.getFei().size() > 0) {
List<DistributionDeliveryChargeEntity> listEntity = new ArrayList<>();
distrilbutionBillLading.getFei().forEach((k, v) -> {
DistributionDeliveryChargeEntity distributionDeliveryCharge = new DistributionDeliveryChargeEntity();
@ -331,11 +333,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 修改操作订单数据
*
* @param orderList
* @return
*/
@Transactional(rollbackFor = Exception.class)
public boolean getOrder(List<DistributionStockArticleEntity> orderList,Long id){
public boolean getOrder(List<DistributionStockArticleEntity> orderList, Long id) {
//查询已有的数据
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, id)
@ -343,18 +346,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.or(wp -> wp.eq(DistrilbutionBillStockEntity::getBillLadingId, id).eq(DistrilbutionBillStockEntity::getOrderStatus, "2"))
);
List<DistrilbutionBillStockEntity> deList = new ArrayList<>();
list.forEach( i ->{
list.forEach(i -> {
boolean b = orderList.stream().anyMatch(o -> o.getId().equals(i.getStockArticleId()));
if(b){
if (b) {
//存在
Iterator<DistributionStockArticleEntity> iterator = orderList.iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
DistributionStockArticleEntity next = iterator.next();
if(next.getId().equals( i.getStockArticleId())){
if (next.getId().equals(i.getStockArticleId())) {
iterator.remove();
}
}
}else{
} else {
//不存在
DistrilbutionBillStockEntity stockEntity = new DistrilbutionBillStockVO();
stockEntity.setId(i.getId());
@ -366,12 +369,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
});
//删除提货订单状态
deList.forEach( i ->{
deList.forEach(i -> {
//查询数据是否已备货
if(!i.getConditions().equals("2")){
if (!i.getConditions().equals("2")) {
//未
List<DistributionStockEntity> list1 = distributionStockService.list(Wrappers.<DistributionStockEntity>query().lambda().eq(DistributionStockEntity::getStockArticle, i.getStockArticleId()));
if(list1.size() == 0){
if (list1.size() == 0) {
//取消
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setId(i.getStockArticleId());
@ -384,7 +387,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
});
List<DistrilbutionBillStockEntity> list1 = new ArrayList<>();
//添加订单关联
orderList.forEach( i ->{
orderList.forEach(i -> {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
stockArticleEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
@ -402,26 +405,28 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distrilbutionBillStockService.saveBatch(list1);
//查询当前备货任务
DistrilbutionBillLadingEntity billLading = baseMapper.selectById(id);
if(billLading.getConditions().equals("5")){
if (billLading.getConditions().equals("5")) {
//修改
billLading.setConsignee("4");
baseMapper.updateById(billLading);
}
return true;
};
}
;
@Override
public IPage<DistrilbutionBillLadingVO> pageList(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingDTO distrilbutionBillLadingDTO = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingDTO.class);
IPage<DistrilbutionBillLadingVO> distrilbutionBillLadingVOIPage = baseMapper.pageList(page, distrilbutionBillLadingDTO);
List<DistrilbutionBillLadingVO> records =distrilbutionBillLadingVOIPage.getRecords();
List<DistrilbutionBillLadingVO> records = distrilbutionBillLadingVOIPage.getRecords();
records.forEach( i -> {
records.forEach(i -> {
List<DistributionDeliveryChargeEntity> list = distributionDeliveryChargeService.list(Wrappers.<DistributionDeliveryChargeEntity>query().lambda()
.eq(DistributionDeliveryChargeEntity::getBillLading, i.getId())
);
list.forEach( ii ->{
ii.setCostName(DictBizCache.getValue(DictBizConstant.DELIVERY_COST,ii.getCost()));
list.forEach(ii -> {
ii.setCostName(DictBizCache.getValue(DictBizConstant.DELIVERY_COST, ii.getCost()));
});
i.setList(list);
});
@ -433,7 +438,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 添加提货图片
*/
public Boolean addPrint(DistrilbutionBillLadingDTO distrilbutionBillLadingDTO){
public Boolean addPrint(DistrilbutionBillLadingDTO distrilbutionBillLadingDTO) {
// List<DistributionPrintEntity> list = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda()
// .eq(DistributionPrintEntity::getBillLadingId, distrilbutionBillLadingDTO.getId())
// );
@ -463,7 +468,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingAppVO> pageListApp(IPage<Object> page, BillLadingAppDTO billLadingAppDTO) {
IPage<DistrilbutionBillLadingAppVO> pageList = baseMapper.pageListApp(page, billLadingAppDTO);
List<DistrilbutionBillLadingAppVO> records = pageList.getRecords();
for (DistrilbutionBillLadingAppVO vo : records){
for (DistrilbutionBillLadingAppVO vo : records) {
//有可能存在多个订单所以需要拆分
String stockArticleId = vo.getStockArticleId();
@ -471,33 +476,33 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Integer planNum = 0;
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
for (String s:split){
if(StringUtil.isBlank(s)){
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
}
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum +sn;
signedNum = signedNum + sn;
}
//查询库存品的件数量
DistributionDeliveryDetailsVO list = distributionDeliveryDetailsService.oneListNum(vo.getBillLadingId());
if(ObjectUtils.isNotNull(list)){
if (ObjectUtils.isNotNull(list)) {
planNum += list.getWholeNum();
signedNum += list.getEsauNum();
vo.setInventoryNum(list.getWholeNum());
}else{
} else {
vo.setInventoryNum(0);
}
vo.setOrderNum(orderNum);
@ -510,9 +515,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
@Override
public DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus,String orderSelfNumbering) {
public DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus, String orderSelfNumbering) {
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId);
if(Objects.isNull(main)){
if (Objects.isNull(main)) {
return null;
}
@ -526,8 +531,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
String[] split = stockArticleId.split(",");
List<DistrilbutionAppBillLadingOrderVO> l = new ArrayList<>();
for (String s:split){
if(StringUtil.isBlank(s)){
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
}
DistrilbutionAppBillLadingOrderVO vo = new DistrilbutionAppBillLadingOrderVO();
@ -536,10 +541,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
if(!StringUtil.isBlank(orderSelfNumbering)){
queryWrapper.ne("order_self_numbering",orderSelfNumbering);
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
if (!StringUtil.isBlank(orderSelfNumbering)) {
queryWrapper.ne("order_self_numbering", orderSelfNumbering);
}
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
vo.setOrderSelfNumbering(list.get(0).getOrderCode());
@ -548,38 +553,38 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
vo.setSignedNum(sn);
signedNum = signedNum +sn;
signedNum = signedNum + sn;
if(pn == sn){
if (pn == sn) {
conpleteNum++;
}
if(pn == sn){
if (pn == sn) {
vo.setOrderStatusStr("齐套");
}else if(sn<pn && sn > 0){
} else if (sn < pn && sn > 0) {
vo.setOrderStatusStr("部分扫");
}else if(sn == 0){
} else if (sn == 0) {
vo.setOrderStatusStr("未扫");
}
//0 全部 1 齐套 2部分扫 3未扫
if(orderStatus == 0){
if (orderStatus == 0) {
l.add(vo);
}else if(orderStatus == 1){
if(pn == sn){
} else if (orderStatus == 1) {
if (pn == sn) {
l.add(vo);
}
}else if(orderStatus == 2){
if(sn<pn && sn > 0){
} else if (orderStatus == 2) {
if (sn < pn && sn > 0) {
l.add(vo);
}
}else if(orderStatus == 3){
if(sn == 0){
} else if (orderStatus == 3) {
if (sn == 0) {
l.add(vo);
}
}
@ -592,7 +597,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List<DistributionDeliveryDetailsEntity> list1 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, billLadingId)
);
if(list1.size() > 0){
if (list1.size() > 0) {
long count = list1.stream().filter(i -> i.getConditions().equals("2")).count();
signedNum += (int) count;
}
@ -601,11 +606,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getMaterialType, "1")
);
if(list2.size() > 0){
if (list2.size() > 0) {
signedNum += list2.size();
}
planNum += list.stream().mapToInt( DistributionDeliveryDetailsEntity::getQuantity ).sum();
planNum += list.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum();
DistrilbutionAppBillLadingOrderMainVO mainVO = new DistrilbutionAppBillLadingOrderMainVO();
mainVO.setOrderNum(orderNum);
mainVO.setPlanNum(planNum);
@ -617,9 +622,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
@Override
public DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus,String orderSelfNumbering) {
public DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus, String orderSelfNumbering) {
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId);
if(Objects.isNull(main)){
if (Objects.isNull(main)) {
return null;
}
@ -632,24 +637,24 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
for (String s:split){
if(StringUtil.isBlank(s)){
for (String s : split) {
if (StringUtil.isBlank(s)) {
continue;
}
//查询所有的包件列表并且附带状态
List<DistrilbutionAppBillLadingDetailVO> details = baseMapper.selectDetailList(Long.parseLong(s),scanStatus,orderSelfNumbering);
for (DistrilbutionAppBillLadingDetailVO detailVO : details){
List<DistrilbutionAppBillLadingDetailVO> details = baseMapper.selectDetailList(Long.parseLong(s), scanStatus, orderSelfNumbering);
for (DistrilbutionAppBillLadingDetailVO detailVO : details) {
Integer ss = detailVO.getScanStatus();
Integer errorStatus = detailVO.getErrorStatus();
if(ss == 1){
if (ss == 1) {
detailVO.setScanStatusStr("未扫描");
}else{
} else {
detailVO.setScanStatusStr("已扫描");
}
if(errorStatus == 0){
if (errorStatus == 0) {
detailVO.setErrorStatusStr("无异常");
}else{
} else {
detailVO.setErrorStatusStr("有异常");
}
}
@ -657,20 +662,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
queryWrapper.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
qw.eq("stock_article_id", Long.parseLong(s))
.eq("is_deleted", 0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum +sn;
signedNum = signedNum + sn;
if(pn == sn){
if (pn == sn) {
conpleteNum++;
}
}
@ -686,23 +691,24 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 修改提货数据
*
* @param distrilbutionBillLading
* @return
*/
@Override
public Boolean saveAssign(DistrilbutionBillLadingEntity distrilbutionBillLading) {
if(StringUtils.isNotBlank(distrilbutionBillLading.getIds())){
if (StringUtils.isNotBlank(distrilbutionBillLading.getIds())) {
String[] split = distrilbutionBillLading.getIds().split(",");
for (String s : split) {
BladeUser user = AuthUtil.getUser();
DistrilbutionBillLadingEntity distributionStockupEntity =new DistrilbutionBillLadingEntity();
BeanUtils.copyProperties(distrilbutionBillLading,distributionStockupEntity);
DistrilbutionBillLadingEntity distributionStockupEntity = new DistrilbutionBillLadingEntity();
BeanUtils.copyProperties(distrilbutionBillLading, distributionStockupEntity);
distributionStockupEntity.setId(Long.parseLong(s));
distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.yizhipai.getValue());
distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
distributionStockupEntity.setAssignTime(new Date());
distributionStockupEntity.setStockupUser(user.getUserName());
distributionStockupEntity.setStockupUserId(user.getUserId());
// distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.yizhipai.getValue());
// distributionStockupEntity.setStockupStatus(StockupStatusConstant.daibeihuo.getValue());
// distributionStockupEntity.setAssignTime(new Date());
// distributionStockupEntity.setStockupUser(user.getUserName());
// distributionStockupEntity.setStockupUserId(user.getUserId());
baseMapper.updateById(distributionStockupEntity);
}
return true;
@ -712,6 +718,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 提货基本信息
*
* @param id
* @return
*/
@ -722,6 +729,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 提货内查询包件
*
* @param page
* @param id
* @return
@ -729,18 +737,19 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
@Override
public IPage<DistrilbutionBillLadingOwnVO> detailReservationOwn(IPage<Object> page, long id) {
IPage<DistrilbutionBillLadingOwnVO> distrilbutionBillLadingOwnVOIPage = baseMapper.detailReservationOwn(page, id);
distrilbutionBillLadingOwnVOIPage.getRecords().forEach( i ->{
distrilbutionBillLadingOwnVOIPage.getRecords().forEach(i -> {
List<DistributionStockupScanEntity> list = distributionStockupScanService.list(Wrappers.<DistributionStockupScanEntity>query().lambda()
.eq(DistributionStockupScanEntity::getPackageType, '1')
.eq(DistributionStockupScanEntity::getParcelListId, i.getId())
);
i.setStockUp(list.size() > 0 ? "已备货": "未备货");
i.setStockUp(list.size() > 0 ? "已备货" : "未备货");
});
return distrilbutionBillLadingOwnVOIPage;
}
/**
* 提货库存品
*
* @param page
* @param id
* @return
@ -749,28 +758,28 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingOwnVO> getInventoryOwn(IPage<Object> page, long id) {
IPage<DistrilbutionBillLadingOwnVO> l = new Page<>();
IPage<DistrilbutionBillLadingOwnVO> inventoryOwn = baseMapper.getInventoryOwn(page, id);
if(inventoryOwn.getRecords().size()> 0){
if (inventoryOwn.getRecords().size() > 0) {
//查询库存品
inventoryOwn.getRecords().forEach( i ->{
inventoryOwn.getRecords().forEach(i -> {
//是否备货
List<DistributionStockupScanEntity> list = distributionStockupScanService.list(Wrappers.<DistributionStockupScanEntity>query().lambda()
.eq(DistributionStockupScanEntity::getPackageType, "2")
.eq(DistributionStockupScanEntity::getStockListId, i.getId())
);
String s = "";
if(list.size() > 0 && i.getQuantity() > list.size()){
if (list.size() > 0 && i.getQuantity() > list.size()) {
s = "备货中";
}else if(list.size() > 0 && i.getQuantity() == list.size()){
} else if (list.size() > 0 && i.getQuantity() == list.size()) {
s = "备货完成";
}else{
} else {
s = "未备货";
}
i.setStockUp(s);
i.setNumber(list.size() > 0 ? list.size() : 0);
});
return inventoryOwn;
}else{
return l;
} else {
return l;
}
@ -778,6 +787,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 查询订单
*
* @param page
* @param id
* @return
@ -790,6 +800,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 根据id查询提货的全部数据
*
* @param distrilbutionBillLadingEntity
* @return
*/
@ -806,12 +817,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//查询提货信息
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
.eq(DistrilbutionBillStockEntity::getOrderStatus,"1")
.or( eq ->eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus,"2"))
.eq(DistrilbutionBillStockEntity::getOrderStatus, "1")
.or(eq -> eq.eq(DistrilbutionBillStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId()).eq(DistrilbutionBillStockEntity::getOrderStatus, "2"))
);
list.forEach( i ->{
list.forEach(i -> {
List<DistributionStockArticleEntity> list2 = distributionStockArticleService.list(Wrappers.<DistributionStockArticleEntity>query().lambda().eq(DistributionStockArticleEntity::getId, i.getStockArticleId()));
if(list2.size() > 0){
if (list2.size() > 0) {
list1.addAll(DistributionStockArticleWrapper.build().listVO(list2));
}
@ -826,14 +837,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List<DistributionDeliveryDetailsEntity> list3 = distributionDeliveryDetailsService.list(Wrappers.<DistributionDeliveryDetailsEntity>query().lambda()
.eq(DistributionDeliveryDetailsEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
);
if(list3.size() > 0){
list3.forEach( i ->{
if (list3.size() > 0) {
list3.forEach(i -> {
DistributionStockListEntity one = distributionStockListService.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(DistributionStockListEntity::getId, i.getStockListId())
);
if(ObjectUtils.isNotNull(one)){
if (ObjectUtils.isNotNull(one)) {
DistributionStockListVO distributionStockListVO = new DistributionStockListVO();
BeanUtils.copyProperties(one,distributionStockListVO);
BeanUtils.copyProperties(one, distributionStockListVO);
distributionStockListVO.setInventoryQuantity(i.getQuantity());
stockListEntities.add(distributionStockListVO);
}
@ -846,6 +857,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 查询自提任务库存品
*
* @param page
* @param distrilbutionBillLading
* @return
@ -854,16 +866,16 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingAppVO> getInventory(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingEntity.class);
IPage<DistrilbutionBillLadingAppVO> inventory = baseMapper.getInventory(page, distrilbutionBillLadingEntity);
inventory.getRecords().forEach( i ->{
inventory.getRecords().forEach(i -> {
if(i.getQuantity().equals(i.getDeliveryNum())){
if (i.getQuantity().equals(i.getDeliveryNum())) {
//已备货
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
.eq(DistributionBillLadingScanEntity::getMaterialType, '1')
);
i.setEsauInventoryNum(list.size());
}else{
} else {
//没有备货完成
i.setEsauInventoryNum(-1);
}
@ -874,6 +886,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* pda扫描
*
* @param distrilbutionBillLading
* @return
*/
@ -883,34 +896,34 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
Object billLadingId = distrilbutionBillLading.get("id"); //提货ID
Object coding = distrilbutionBillLading.get("coding"); //包条码
Object type = distrilbutionBillLading.get("type"); //类型 2 订单 1 库存品
if(Func.isNull(billLadingId) || Func.isNull(coding ) || Func.isNull(type) ){
return R.fail(3000,"参数不完整,你干啥呢!!");
}else{
if (Func.isNull(billLadingId) || Func.isNull(coding) || Func.isNull(type)) {
return R.fail(3000, "参数不完整,你干啥呢!!");
} else {
//查询是否签收
List<DistributionBillLadingScanEntity> list3 = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getMaterialType, type)
.eq(DistributionBillLadingScanEntity::getPacketBarCode, coding)
);
if(list3.size() > 0){
return R.fail(3001,"已签收!");
if (list3.size() > 0) {
return R.fail(3001, "已签收!");
}
//添加扫描记录
DistributionBillLadingScanEntity distributionBillLadingScan = new DistributionBillLadingScanEntity();
distributionBillLadingScan.setMaterialType((String) type);
distributionBillLadingScan.setBillLadingId(Long.parseLong(billLadingId.toString()));
if(type.equals("1")){
if (type.equals("1")) {
//库存品
DistrilbutionBillLadingInventoryAppVO inventoryAppVO = distributionDeliveryDetailsService.listCode(String.valueOf(billLadingId), String.valueOf(coding));
if(ObjectUtils.isNotNull(inventoryAppVO)){
if (ObjectUtils.isNotNull(inventoryAppVO)) {
//查询签收数量
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
.eq(DistributionBillLadingScanEntity::getMaterialType, "1")
.eq(DistributionBillLadingScanEntity::getStockListId, inventoryAppVO.getStockListId())
);
if(list.size() == inventoryAppVO.getQuantity()+1){
if (list.size() == inventoryAppVO.getQuantity() + 1) {
//修改完成状态
distributionAsyncService.getInventoryOrderSelfPickup(inventoryAppVO.getLdddId());
}
@ -919,25 +932,25 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distributionBillLadingScan.setPacketBarCode((String) coding);
distributionBillLadingScan.setStockListId(inventoryAppVO.getStockListId());
distributionBillLadingScanService.save(distributionBillLadingScan);
}else {
return R.fail(3000,"包件信息不存在");
} else {
return R.fail(3000, "包件信息不存在");
}
}else{
} else {
//查询订单存在吗
List<DistrilbutionBillStockEntity> list= distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
List<DistrilbutionBillStockEntity> list = distrilbutionBillStockService.list(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
);
if(list.size() < 1){
return R.fail(3000,"当前提货任务,订单不存在!");
}else{
if (list.size() < 1) {
return R.fail(3000, "当前提货任务,订单不存在!");
} else {
AtomicBoolean n = new AtomicBoolean(false);
list.forEach(so ->{
list.forEach(so -> {
//查询包件信息
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getStockArticleId, so.getStockArticleId())
.eq(DistributionParcelListEntity::getOrderPackageCode, coding)
);
if(list1.size() > 0){
if (list1.size() > 0) {
n.set(true);
//查询订单包件数量签收的信息
DistributionStockArticleEntity one = distributionStockArticleService.getOne(Wrappers.<DistributionStockArticleEntity>query().lambda()
@ -949,7 +962,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionBillLadingScanEntity::getBillLadingId, billLadingId)
);
//判断当前签收数
if(one.getTotalNumber().equals(list2.size()+1)){
if (one.getTotalNumber().equals(list2.size() + 1)) {
DistrilbutionBillStockEntity one1 = distrilbutionBillStockService.getOne(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
@ -962,17 +975,17 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//修改包件状态
distributionAsyncService.getSelfPickup(list1.get(0).getId());
distributionBillLadingScan.setParcelListId(list1.get(0).getId());
distributionBillLadingScan.setPacketBarCode(String.valueOf(coding) );
distributionBillLadingScan.setPacketBarCode(String.valueOf(coding));
//订单
distributionBillLadingScan.setStockArticleId(one.getId());
distributionBillLadingScan.setBillLadingId(Long.parseLong((String) billLadingId));
}
});
if(n.get()){
if (n.get()) {
distributionBillLadingScanService.save(distributionBillLadingScan);
}else{
return R.fail(3000,"当前订单,包件不存在!!");
} else {
return R.fail(3000, "当前订单,包件不存在!!");
}
}
@ -986,19 +999,20 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
);
long count = list.stream().filter(e -> e.getConditions().equals("2")).count();
long count2 = list1.stream().filter(e -> e.getConditions().equals("2")).count();
if(Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()){
if (Integer.parseInt(String.valueOf(count)) == list.size() && Integer.parseInt(String.valueOf(count2)) == list1.size()) {
//修改提货任务状态
DistrilbutionBillLadingEntity billLadingEntity = new DistrilbutionBillLadingEntity();
billLadingEntity.setId((Long) billLadingId);
billLadingEntity.setConsignee("2");
baseMapper.updateById(billLadingEntity);
}
return R.fail(200,"签收成功");
return R.fail(200, "签收成功");
}
}
/**
* 查询包件
*
* @param page
* @param distrilbutionBillLading
* @return
@ -1007,8 +1021,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public IPage<DistrilbutionBillLadingAppVO> getInventoryNum(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingEntity.class);
IPage<DistrilbutionBillLadingAppVO> inventory = baseMapper.getInventory(page, distrilbutionBillLadingEntity);
inventory.getRecords().forEach( i ->{
if(i.getQuantity().equals(i.getDeliveryNum())){
inventory.getRecords().forEach(i -> {
if (i.getQuantity().equals(i.getDeliveryNum())) {
//已备货
List<DistributionBillLadingScanEntity> list = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
@ -1020,11 +1034,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionStockEntity::getBillLadingId, distrilbutionBillLadingEntity.getId())
.eq(DistributionStockEntity::getType, "2")
);
list1.forEach( di ->{
list1.forEach(di -> {
DistrilbutionAppBillLadingDetailVO billLadingDetailVO = new DistrilbutionAppBillLadingDetailVO();
billLadingDetailVO.setOrderPackageCode(di.getCoding());
billLadingDetailVO.setScanStatus(Integer.parseInt(di.getConditions()));
switch (di.getConditions()){
switch (di.getConditions()) {
case "2":
billLadingDetailVO.setScanStatusStr("待签收");
break;
@ -1035,7 +1049,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
ladingDetailVOS.add(billLadingDetailVO);
});
i.setList(ladingDetailVOS);
}else{
} else {
//没有备货完成
i.setEsauInventoryNum(-1);
}
@ -1045,6 +1059,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
/**
* 签收
*
* @param ids
* @return
*/
@ -1065,8 +1080,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistrilbutionBillStockEntity::getOrderStatus, "1")
.or(ew -> ew.eq(DistrilbutionBillStockEntity::getBillLadingId, s).eq(DistrilbutionBillStockEntity::getOrderStatus, "2"))
);
if(list.size() > 0){
list.forEach( li ->{
if (list.size() > 0) {
list.forEach(li -> {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setOrderStatus(OrderStatusConstant.qianshou.getValue());
stockArticleEntity.setId(li.getStockArticleId());
@ -1082,13 +1097,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
public DistrilbutionBillLadingVO listNum(Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingDTO billLadingEntity = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingDTO.class);
DistrilbutionBillLadingVO billLadingVO = baseMapper.getBillLadingNum(billLadingEntity); //查询
DistrilbutionBillLadingVO billLadingVO = baseMapper.getBillLadingNum(billLadingEntity); //查询
return billLadingVO;
}
/**
* 查询详细信息
*
* @param id
* @return
*/
@ -1098,4 +1114,48 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return baseMapper.getViewDetailOwn(id);
}
public void saveDistrilbutionBillLading(DistrilbutionBillLadingEntity distrilbutionBillLading) {
this.save(distrilbutionBillLading);
// 创建备货任务
DistributionStockupEntity distributionStockupEntity = buildDistributionStockupEntityBydistrilbutionBillLading(distrilbutionBillLading);
// 保存备货任务
distributionStockupService.save(distributionStockupEntity);
// 创建备货任务的关联
DistributionStockupInfoEntity distributionStockupInfoEntity = new DistributionStockupInfoEntity();
distributionStockupInfoEntity.setStockUpType(StockupTypeConstant.ziti.getValue());
distributionStockupInfoEntity.setReservationId(distrilbutionBillLading.getId());
distributionStockupInfoEntity.setStockupId(distributionStockupEntity.getId());
distributionStockupInfoService.save(distributionStockupInfoEntity);
}
/**
* 根据自提单创建备货任务的实体
*
* @param distrilbutionBillLading
* @return
*/
private DistributionStockupEntity buildDistributionStockupEntityBydistrilbutionBillLading(DistrilbutionBillLadingEntity distrilbutionBillLading) {
DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity();
distributionStockupEntity.setTypeService("3");
distributionStockupEntity.setAssignTime(distrilbutionBillLading.getPickUpTime());
// 调用方法
distributionStockupEntity.setStockupCode(distributionReservationService.bianMa());
distributionStockupEntity.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
distributionStockupEntity.setAssignStatus(StockAssignStatusConstant.weizhipai.getValue());
//todo 库位 获取自提任务的ID 查询下面的订单 包件 库存品信息 的货位信息
// distributionStockupEntity.setStockipAllocation();
return distributionStockupEntity;
}
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/wrapper/DistrilbutionBillLadingWrapper.java

@ -26,9 +26,7 @@ public class DistrilbutionBillLadingWrapper extends BaseEntityWrapper<Distrilbut
@Override
public DistrilbutionBillLadingVO entityVO(DistrilbutionBillLadingEntity entity) {
DistrilbutionBillLadingVO distrilbutionBillLadingVO = Objects.requireNonNull(BeanUtil.copy(entity, DistrilbutionBillLadingVO.class));
distrilbutionBillLadingVO.setTypeServiceName(DictBizCache.getValue(DictBizConstant.DISTRIBUTION_TYPE,entity.getStockupStatus()));
distrilbutionBillLadingVO.setAssignStatusName(DictBizCache.getValue(DictBizConstant.STOCK_ALLOCATION,entity.getAssignStatus()));
distrilbutionBillLadingVO.setStockupStatusName(DictBizCache.getValue(DictBizConstant.STOCKUP_STATUS,entity.getStockupStatus()));
return distrilbutionBillLadingVO;
}
}

Loading…
Cancel
Save