Browse Source

拆包修复、增加包件状态维护补丁、司机装车状态维护

pull/2/head
汤建军 7 months ago
parent
commit
22b684f734
  1. 2
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseGoodsAllocationClient.java
  2. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java
  3. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml
  4. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java
  5. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  6. 55
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java
  7. 30
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java
  8. 10
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java
  9. 20
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml
  10. 14
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java
  11. 20
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java

2
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseGoodsAllocationClient.java

@ -56,7 +56,7 @@ public interface IWarehouseGoodsAllocationClient {
/**
* 跟新货位缓存
* 查询货位信息
*/
@GetMapping(TOP+ "/getAllocationInforByIds")
List<WarehouseGoodsAllocationEntity> getAllocationInforByIds(@RequestParam("ids") String [] ids);

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java

@ -275,12 +275,23 @@ public class DistributionStockListController extends BladeController {
*/
@GetMapping("/packageList")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
@ApiOperation(value = "获取批量在库订单信息", notes = "传入ids")
public R getPackageList(@RequestParam String id) {
R<List<DistributionStockArticleVO>> result = distributionStockListService.getPackageList(id);
return result;
}
/**
* 获取批量在库订单信息
*/
@GetMapping("/findStockListAllocation")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "查询库存品的库位信息", notes = "传入ids")
public R findStockListAllocation(@RequestParam String sourceType,@RequestParam Long marketId,@RequestParam String materielCode) {
R result = distributionStockListService.findStockListAllocation(sourceType,marketId,materielCode);
return result;
}
// /**
// * 查询库存品详情
// */

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

@ -84,6 +84,7 @@
ldsi.market_id marketId,ldsi.store_id storeId,ldsi.material_id materialId,ldsi.id,
( select CONCAT(GROUP_CONCAT(lwtg.tray_code SEPARATOR ','), ',(', SUM(lwtg.num), ') ')
from logpm_warehouse_tray_goods lwtg where ldsi.market_id = lwtg.market_id and lwtg.association_id = ldsi.material_id ) trayQuantity,
ldsi.source_type AS sourceType,
(select package_num from logpm_basicdata_material where id = material_id) packageNum
from logpm_distribution_stock_list ldsi
</sql>

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java

@ -205,6 +205,15 @@ public interface IDistributionStockListService extends BaseService<DistributionS
List<DistributionStockListEntity> getListByMarketIdAndSku(Long mallId, String sku, Long warehouseId);
/**
* 查询库存品库位信息
* @param sourceType
* @param marketId
* @param materielCode
* @return
*/
R findStockListAllocation(String sourceType, Long marketId, String materielCode);
// /**
// * 查询库存品详情

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

@ -2689,15 +2689,15 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
}
//这里直接进行物理删除即可,但是在删除前需要将数据状态进行维护
//处理预约的包件信息
} else {
}
reservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue());
this.updateById(reservationEntity);
}
} else {
log.error("###################预约备货任务数据异常,备货任务ID:{}", distributionStockupInfoEntities.get(0).getStockupId());
}
}
return true;
}

55
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

@ -40,8 +40,12 @@ import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.DistributionMerchantStockListVO;
import com.logpm.distribution.vo.app.StockMallVO;
import com.logpm.warehouse.entity.WarehouseGoodsAllocationEntity;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.feign.IWarehouseGoodsAllocationClient;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant;
@ -98,6 +102,10 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
@Autowired
private IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
@Autowired
private IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient;
@Autowired
private IWarehouseGoodsAllocationClient warehouseGoodsAllocationClient;
@Autowired
private IBasicPrintTemplateClient basicPrintTemplateClient;
@Autowired
@ -832,6 +840,53 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
return baseMapper.getListByMarketIdAndSku(mallId,sku,warehouseId);
}
/**
* @param sourceType
* @param marketId
* @param materielCode
* @return
*/
@Override
public R findStockListAllocation(String sourceType, Long marketId, String materielCode) {
String method = "###################DistributionStockListServiceImpl.findStockListAllocation";
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
log.error(method+"拆包未选择仓库");
return R.fail(403,"未授权!!!");
}
List<Map<String,Object>> mapList = new ArrayList<>();
switch (sourceType){
case "1":
//有数据
break;
case "2":
//无数据
WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity();
warehouseUpdownGoodsEntity.setAssociationValue(materielCode);
warehouseUpdownGoodsEntity.setMarketId(marketId);
warehouseUpdownGoodsEntity.setAssociationType("4");
warehouseUpdownGoodsEntity.setWarehouseId(myCurrentWarehouse.getId());
List<WarehouseUpdownGoodsEntity> locationStockListInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity);
if (Func.isNotEmpty(locationStockListInformation)){
List<String> collect = locationStockListInformation.stream().map(WarehouseUpdownGoodsEntity::getAllocationId).map(String::valueOf).collect(Collectors.toList());
String[] array = collect.stream().toArray(String[]::new);
List<WarehouseGoodsAllocationEntity> allocationInforByIds = warehouseGoodsAllocationClient.getAllocationInforByIds(array);
Map<Long, String> collected = allocationInforByIds.stream().collect(Collectors.toMap(WarehouseGoodsAllocationEntity::getId, WarehouseGoodsAllocationEntity::getQrCode));
for (WarehouseUpdownGoodsEntity updownGoodsEntity : locationStockListInformation) {
Map<String,Object> map = new HashMap<>();
map.put("allocationId",updownGoodsEntity.getAllocationId());
map.put("allocationName",collected.get(updownGoodsEntity.getAllocationId()));
map.put("handleQuantity",updownGoodsEntity.getNum());
mapList.add(map);
}
}
return R.data(mapList);
}
return null;
}
@Override
public OrderPackgeCodeDataVO showInventorySourcePackageCode(String incomingBatch, Long packageIds) throws Exception {
OrderPackgeCodeDataVO orderPackgeCodeDataVO = new OrderPackgeCodeDataVO();

30
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java

@ -4,6 +4,7 @@ import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.feign.IDistributionStockArticleClient;
import com.logpm.oldproject.entity.AdvanceDetailEntity;
@ -13,6 +14,7 @@ import com.logpm.oldproject.feign.*;
import com.logpm.patch.entity.OrderSyncRecordEntity;
import com.logpm.patch.entity.WarehouseMappingDataEntity;
import com.logpm.patch.service.IOrderSyncRecordService;
import com.logpm.patch.service.ISyncDistributionParcelListService;
import com.logpm.patch.service.ISyncOrderInfoService;
import com.logpm.patch.service.IWarehouseMappingDataService;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
@ -29,9 +31,12 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.constant.TenantNum;
import org.springblade.common.constant.orderpackage.*;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Component;
@ -51,6 +56,7 @@ public class SyncOrderInfoToPlatform {
private final IOrderSyncRecordService orderSyncRecordService;
private final ISyncOrderInfoService syncOrderInfoService;
private final IDistributionStockArticleClient distributionStockArticleClient;
private final ITrunklineWaybillOrderClient waybillOrderClient;
private final ITrunklineAdvanceClient trunklineAdvanceClient;
@ -62,7 +68,6 @@ public class SyncOrderInfoToPlatform {
private final IAdvanceDetailClient advanceDetailClient;
private final IWarehouseWaybillClient warehouseWaybillClient;
private final IInventoryDetailClient inventoryDetailClient;
private final IDistributionStockArticleClient distributionStockArticleClient;
@XxlJob("syncOrderInfo")
@ -693,6 +698,29 @@ public class SyncOrderInfoToPlatform {
return ReturnT.SUCCESS;
}
@XxlJob("clearOrderPackageStatusSign")
public ReturnT<String> recoverOrderPackageStatus(String order,String packageCodes,Long warehouseId) {
log.info("############clearOrderPackageStatusSign: 恢复包件数据为可初始状态 开始");
List<String> strList = null;
if (Strings.isNotBlank(packageCodes)){
log.info("############recoverOrderPackageStatus: 恢复整单包件状态 开始");
strList = Func.toStrList(packageCodes);
}
List<JSONObject> ls = warehouseMappingDataService.findOrderPackageByOrderCodeAndPckageCode(order,strList,warehouseId);
List<Long> ids = new ArrayList<>();
for (JSONObject l : ls) {
// String orderPackageCode = l.getStr("orderPackageCode");
Long packageId = l.getLong("packageId");
ids.add(packageId);
}
//修改包件状态
warehouseMappingDataService.recoverOrderPackageStatus(ids);
distributionStockArticleClient.updateOrderInfo(order,warehouseId);
log.info("############repairNoOpenOrderOrderInfo: 清理包件数据为已签收 完成");
return ReturnT.SUCCESS;
}

10
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java

@ -56,4 +56,14 @@ public interface WarehouseMappingDataMapper {
List<JSONObject> findAllOrderPackage();
void updateClearOrderPackageStatusSignStatus(@Param("orderPackageCode") String orderPackageCode, @Param("warehouseId") Long warehouseId, @Param("dealStatus") Integer dealStatus);
/**
* 查询订单指定包件列表
* @param order
* @param strList
* @return
*/
List<JSONObject> findOrderPackageByOrderCodeAndPckageCode(@Param("orderCode")String order,@Param("packageCodes") List<String> strList,@Param("warehouseId")Long warehouseId);
void recoverOrderPackageStatus(List<Long> ids);
}

20
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml

@ -168,6 +168,20 @@
from clear_package_status_record
where deal_status = 0
</select>
<select id="findOrderPackageByOrderCodeAndPckageCode" resultType="cn.hutool.json.JSONObject">
select ldpl.id packageId
from logpm_distribution_parcel_list ldpl
<where>
order_code =#{orderCode} AND warehouse_id = #{warehouseId}
<if test="packageCodes != null and packageCodes != ''">
order_package_code in
<foreach item="item" index="index" collection="packageCodes" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<update id="updateClearOrderPackageStatusSignStatus" >
update clear_package_status_record
@ -175,5 +189,11 @@
where order_package_code = #{orderPackageCode}
and warehouse_id = #{warehouseId}
</update>
<update id="recoverOrderPackageStatus">
UPDATE logpm_distribution_parcel_list SET order_package_status = '20',order_package_reservation_status = '10',order_package_loading_status ='10',order_package_stockup_status = '10' WHERE id in
<foreach collection="packageIds" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>

14
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java

@ -52,4 +52,18 @@ public interface IWarehouseMappingDataService {
List<JSONObject> findAllOrderPackage();
void updateClearOrderPackageStatusSignStatus(String orderPackageCode, Long warehouseId, Integer dealStatus);
/**
* 查订单下指定包件列表
* @param order
* @param strList
* @return
*/
List<JSONObject> findOrderPackageByOrderCodeAndPckageCode(String order, List<String> strList,Long warehouseId);
/**
* 恢复包件状态
* @param ids
*/
void recoverOrderPackageStatus(List<Long> ids);
}

20
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java

@ -131,4 +131,24 @@ public class WarehouseMappingDataServiceImpl implements IWarehouseMappingDataSer
public void updateClearOrderPackageStatusSignStatus(String orderPackageCode, Long warehouseId, Integer dealStatus) {
warehouseMappingDataMapper.updateClearOrderPackageStatusSignStatus(orderPackageCode,warehouseId,dealStatus);
}
/**
* @param order
* @param strList
* @return
*/
@Override
public List<JSONObject> findOrderPackageByOrderCodeAndPckageCode(String order, List<String> strList,Long warehouseId) {
return warehouseMappingDataMapper.findOrderPackageByOrderCodeAndPckageCode(order,strList,warehouseId);
}
/**
* @param ids
*/
@Override
public void recoverOrderPackageStatus(List<Long> ids) {
warehouseMappingDataMapper.recoverOrderPackageStatus(ids);
}
}

Loading…
Cancel
Save