Browse Source

修改自提修改订单问题

single_db
caoyizhong 1 year ago
parent
commit
e9df3c1986
  1. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  2. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  3. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml
  4. 82
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

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

@ -990,7 +990,7 @@
not null
) AS reservationNum
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id and ldbs.order_status in (1,2)
LEFT JOIN logpm_distribution_stock_article ldsa ON ldsa.id = ldbs.stock_article_id
INNER JOIN logpm_distribution_stockup lds ON lds.id = ldsi.stockup_id
<where>

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

@ -249,7 +249,7 @@
<if test="param.pickUpTimeStart != null and param.pickUpTimeStart!='' ">and lad.pick_up_time between
#{param.pickUpTimeStart} and #{param.pickUpTimeEnd}
</if>
<if test="param.conditions != null and param.conditions != ''" >and lad.conditions =#{ param.conditions }</if>
<if test="param.conditions != null and param.conditions == 10" >and lad.conditions in (10,20)</if>
</where>

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

@ -117,7 +117,7 @@
select DISTINCT ldsa.order_code orderCode,ldsa.description_goods descriptionGoods,ldsa.stockup_status stockupStatus,
(select COUNT(id) from logpm_distrilbution_bill_package
where stock_article_id = ldsa.id and packet_bar_status in (1,3)) handQuantity,
where stock_article_id = ldsa.id and packet_bar_status in (1,3) and bill_lading_id = #{param.billLadingId} ) handQuantity,
(select GROUP_CONCAT(DISTINCT ldpl.material_name )
from logpm_distribution_parcel_list ldpl
where ldpl.material_name is not null and ldpl.stock_article_id = ldbs.stock_article_id) materialName,
@ -183,7 +183,7 @@
LEFT JOIN logpm_warehouse_tray_goods lwtg ON lwtg.association_id = ldpl.id AND lwtg.association_type = '3'
LEFT JOIN logpm_warehouse_updown_goods lwug ON lwug.association_id = ldpl.id AND lwug.association_type = '3'
<where>
ldbp.bill_lading_id = #{param.billLadingId} and ldbp.packet_bar_status in (1,2) and ldbp.bill_type = '1'
ldbp.bill_lading_id = #{param.billLadingId} and ldbp.packet_bar_status in (1,3) and ldbp.bill_type = '1'
</where>
</select>
<select id="selectDistrilbutionBillSelf" resultType="com.logpm.distribution.vo.DistributionStockupOrderListVO">

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

@ -515,9 +515,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
.eq(DistributionParcelListEntity::getConditions, 1)
.eq(DistributionParcelListEntity::getOrderPackageReservationStatus,OrderPackageReservationStatusConstant.daiyuyue.getValue())
);
List<DistrilbutionBillPackageEntity> list = distrilbutionBillPackageService.list(Wrappers.<DistrilbutionBillPackageEntity>query().lambda()
.eq(DistrilbutionBillPackageEntity::getBillLadingId, billId)
.apply("packet_bar_status in ( 1 , 3 )")
);
if(!list1.isEmpty()){
list1.stream().forEach(ss ->{
Optional<DistrilbutionBillPackageEntity> first1 = list.stream().filter(q -> q.getParceListId().equals(ss.getId())).findFirst();
if(!first1.isPresent()){
DistrilbutionBillPackageEntity billPackageEntity = new DistrilbutionBillPackageEntity();
billPackageEntity.setBillLadingId(billId);
billPackageEntity.setPacketBarCode(ss.getOrderPackageCode());
@ -535,8 +540,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
packageEntityList.add(billPackageEntity);
}
});
//修改包件预约状态
List<Long> collect = list1.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList());
distributionAsyncService.updateParcelListReservation(collect);
@ -590,8 +595,15 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
billPackageEntity.setPacketNumber(1);
billPackageEntity.setPacketBarStatus(1);
packageEntityList.add(billPackageEntity);
});
distrilbutionBillPackageService.saveBatch(packageEntityList);
List<Long> collect = packageEntityList.stream().map(i -> i.getParceListId()).collect(Collectors.toList());
//修改包件状态
distributionParcelListService.update(Wrappers.<DistributionParcelListEntity>update()
.in("id",collect)
.set("order_package_reservation_status", OrderPackageReservationStatusConstant.yiyueyue.getValue())
);
}
});
@ -601,6 +613,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
boolean update = distrilbutionBillPackageService.update(Wrappers.<DistrilbutionBillPackageEntity>update()
.in("parce_list_id", collect)
.set("packet_bar_status", 2));
//修改包件状态
distributionParcelListService.update(Wrappers.<DistributionParcelListEntity>update()
.in("id",collect)
.set("order_package_reservation_status", OrderPackageReservationStatusConstant.daiyuyue.getValue())
);
if(!update){
throw new ServiceException("修改失败!!!");
}
@ -728,10 +745,12 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
});
List<String> sStock = new ArrayList<>(); //取消
//删除提货订单状态
deList.forEach(i -> {
//查询数据是否已备货
if (i.getConditions().equals("10") ) {
if ("10".equals(i.getConditions()) ) {
//未
List<DistributionStockEntity> list1 = distributionStockService.list(Wrappers.<DistributionStockEntity>query().lambda().eq(DistributionStockEntity::getStockArticle, i.getStockArticleId()));
if (list1.isEmpty()) {
@ -744,10 +763,27 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
i.setOrderStatus("3");
distrilbutionBillStockService.updateById(i);
//取消预约包件信息
distrilbutionBillPackageService.update(Wrappers.<DistrilbutionBillPackageEntity>update()
.eq("bill_lading_id",id)
.eq("stock_article_id",i.getStockArticleId())
.apply("packet_bar_status in ( 1 , 3 )")
.set("packet_bar_status",2)
);
//还原预约包件信息
distributionParcelListService.update(Wrappers.<DistributionParcelListEntity>update()
.eq("stock_article_id",i.getStockArticleId())
.set("order_package_reservation_status", OrderPackageReservationStatusConstant.daiyuyue.getValue())
);
//修改订单数据
sStock.add(String.valueOf(i.getStockArticleId()));
}
});
List<DistrilbutionBillStockEntity> list1 = new ArrayList<>();
List<DistrilbutionBillPackageEntity> packageEntityList = new ArrayList<>();
//添加订单关联
List<String> stringBuff = new ArrayList<>();
orderList.forEach(i -> {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity();
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
@ -761,11 +797,44 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distrilbutionBillStock.setConditions(BillLadingStatusConstant.daitihuo.getValue());
distrilbutionBillStock.setOrderStatus("2");
list1.add(distrilbutionBillStock);
//添加包件信息
//没有包件 查询包件信息
List<DistrilbutionBillPackageEntity> packageEntityList1 = billPackInfo(String.valueOf(i.getId()),id,null,i);
if(packageEntityList1.isEmpty()){
throw new ServiceException(i.getOrderCode()+"没有可用包件信息!");
}
packageEntityList.addAll(packageEntityList1);
stringBuff.add(String.valueOf(i.getId()));
});
//添加包件信息
if(!packageEntityList.isEmpty()){
distrilbutionBillPackageService.saveBatch(packageEntityList);
}
distrilbutionBillStockService.saveBatch(list1);
if(ObjectUtils.isNotNull(stringBuff) || ObjectUtils.isNotNull(sStock)){
//修改订单状态
DistrilbutionBillLadingEntity billLadingEntity = baseMapper.selectById(id);
DistrilbutionBillLadingEntity distrilbutionBillLading = new DistrilbutionBillLadingEntity();
distrilbutionBillLading.setId(billLadingEntity.getId());
List<String> list2 =new ArrayList<>( Arrays.asList(billLadingEntity.getStockArticleId().split(",")));
StringBuffer s = new StringBuffer();
if(ObjectUtils.isNotNull(sStock)){
list2.removeAll(sStock);
}
String join = String.join(",", list2);
s.append(join);
if(ObjectUtils.isNotNull(stringBuff)){
String join1 = String.join(",", stringBuff);
s.append(","+join1);
}
distrilbutionBillLading.setStockArticleId(s.toString());
baseMapper.updateById(distrilbutionBillLading);
}
//查询当前备货任务
DistrilbutionBillLadingEntity billLading = baseMapper.selectById(id);
if (billLading.getConditions().equals("5")) {
if ("5".equals(billLading.getConditions())) {
//修改
billLading.setConsignee("4");
baseMapper.updateById(billLading);
@ -773,8 +842,6 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return true;
}
;
@Override
public IPage<DistrilbutionBillLadingVO> pageList(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
DistrilbutionBillLadingDTO distrilbutionBillLadingDTO = JSONObject.parseObject(JSONObject.toJSONString(distrilbutionBillLading), DistrilbutionBillLadingDTO.class);
@ -1134,6 +1201,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
// List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
List<DistrilbutionBillPackageEntity> list = distrilbutionBillPackageService.list(Wrappers.<DistrilbutionBillPackageEntity>query().lambda()
.eq(DistrilbutionBillPackageEntity::getBillLadingId,billLadingId)
.eq(DistrilbutionBillPackageEntity::getStockArticleId,s)
.apply("packet_bar_status in (1,3)")
);
int pn = list.size();
@ -1473,7 +1541,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
DistrilbutionBillStockEntity one1 = distrilbutionBillStockService.getOne(Wrappers.<DistrilbutionBillStockEntity>query().lambda()
.eq(DistrilbutionBillStockEntity::getBillLadingId, billLadingId)
.eq(DistrilbutionBillStockEntity::getStockArticleId, one.getId())
.eq(DistrilbutionBillStockEntity::getConditions, "1")
.eq(DistrilbutionBillStockEntity::getConditions,BillLadingStatusConstant.daitihuo.getValue() )
);
//修改订单状态
distributionAsyncService.getOrderSelfPickup(list1.get(0).getId());

Loading…
Cancel
Save