Browse Source

Merge branch 'dev' into pre-production

newStockUp
zhenghaoyu 1 year ago
parent
commit
868b643746
  1. 4
      blade-biz-common/src/main/java/org/springblade/common/constant/CommonConstant.java
  2. 2
      blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java
  3. 84
      blade-biz-common/src/main/java/org/springblade/common/utils/FileLogsUtil.java
  4. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java
  5. 12
      blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpOrderStatusLogEntity.java
  6. 16
      blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/vo/OpOrderStatusLogVO.java
  7. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java
  8. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java
  9. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  10. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  11. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  12. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  13. 8
      blade-service/logpm-factory/pom.xml
  14. 5
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java
  15. 2
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java
  16. 3
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpSignDataHandler.java
  17. 87
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java
  18. 69
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  19. 6
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

4
blade-biz-common/src/main/java/org/springblade/common/constant/CommonConstant.java

@ -53,14 +53,14 @@ public interface CommonConstant {
// /**
// * 默认缓存文件地址
// */
String SYSTEMFILEPATH ="/home/java_works/logpm_temp_file/";
// String SYSTEMFILEPATH ="/home/java_works/logpm_temp_file/";
/**
* 默认缓存文件地址
*/
// String SYSTEMFILEPATH ="C:\\Users\\0.0\\Desktop\\汇通\\";
String SYSTEMFILEPATH ="F:/logs/";

2
blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java

@ -8,7 +8,7 @@ public interface ModuleNameConstant {
/**
* 如果不需要 ""
*/
public static final String DEVAUTH ="";
public static final String DEVAUTH ="-pref";
/**
* 工厂对接服务名称

84
blade-biz-common/src/main/java/org/springblade/common/utils/FileLogsUtil.java

@ -0,0 +1,84 @@
package org.springblade.common.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.common.constant.CommonConstant;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Calendar;
import java.util.Date;
/**
* 根据日志文件生成本地文件
*/
public class FileLogsUtil {
private static final Logger log = LoggerFactory.getLogger(FileLogsUtil.class);
// 根基传入的String 日志响应内容 保存到本地磁盘,返回本次保存的磁盘路径
public static String saveFileLogs(String logs) {
Date date = new Date();
// 获取当前系统时间
Long startdate = date.getTime();
String dataString = makeDateString(date);
String imgPath = CommonConstant.SYSTEMFILEPATH + "logs/";
//根据当前时间 按照 年/月/日 创建一个文件
imgPath = imgPath + dataString;
// 判断文件夹是否存在
File imgPathFile = new File(imgPath);
if (!imgPathFile.exists()) {
imgPathFile.mkdirs();
}
// 按照年-月-日 创建一个字符串
String fileName = System.currentTimeMillis() + ".log";
Writer writer = null;
try {
writer = new FileWriter(imgPath + fileName);
writer.write(logs);
writer.flush();
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Long endDate = new Date().getTime();
log.info("保存消耗时间:" + (endDate - startdate) + "毫秒");
return imgPath + fileName;
}
private static String makeDateString(Date date) {
StringBuilder stringBuffer = new StringBuilder();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date); //放入Date类型数据
//获取年份
stringBuffer.append(calendar.get(Calendar.YEAR)).append("/");
//获取月份
stringBuffer.append(calendar.get(Calendar.MONTH) + 1).append("/");
//获取日份
stringBuffer.append(calendar.get(Calendar.DATE)).append("/");
return stringBuffer.toString();
}
}

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java

@ -67,7 +67,7 @@ public interface IDistributionParcelListClient {
List<DistributionParcelListEntity> findEntityListByOrderCode(@RequestParam String orderCode);
@GetMapping(API_PREFIX+"/findALLNoUpShelfPackageByOrderCode")
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(@RequestParam String orderCode);
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(@RequestParam String orderCode,@RequestParam Long warehouseId);
@GetMapping(API_PREFIX+"/updatePackageGroundingStatus")
void updatePackageGroundingStatus(@RequestParam String orderPackageCode, @RequestParam String groundingStatus);

12
blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/entity/OpOrderStatusLogEntity.java

@ -1,5 +1,6 @@
package com.logpm.factory.oupai.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@ -12,8 +13,16 @@ import org.springblade.core.mp.base.BaseEntity;
@EqualsAndHashCode(callSuper = true)
public class OpOrderStatusLogEntity extends BaseEntity {
/**
* 请求参数
*/
private String args;
/**
* 响应文件资源
*/
private String responseUrl;
/**
* 数据用途 1. 发车数据
*/
@ -26,4 +35,7 @@ public class OpOrderStatusLogEntity extends BaseEntity {
*/
private Integer dataStatus;
@TableField(exist = false)
private String responseBody;
}

16
blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/oupai/vo/OpOrderStatusLogVO.java

@ -0,0 +1,16 @@
package com.logpm.factory.oupai.vo;
import com.logpm.factory.oupai.entity.OpOrderStatusLogEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class OpOrderStatusLogVO extends OpOrderStatusLogEntity {
/**
* 响应内容
*/
private String reponseBody;
}

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java

@ -89,12 +89,12 @@ public class DistributionParcelListClient implements IDistributionParcelListClie
}
@Override
public List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode) {
public List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode,Long warehouseId) {
// QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("order_code",orderCode)
// .eq("is_deleted",0)
// .eq("order_package_grounding_status",10);
return distributionParcelListService.findALLNoUpShelfPackageByOrderCode(orderCode);
return distributionParcelListService.findALLNoUpShelfPackageByOrderCode(orderCode,warehouseId);
}
@Override

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

@ -90,7 +90,7 @@ public interface DistributionParcelListMapper extends BaseMapper<DistributionPar
*/
List<PackageStockupVO> selectOrderInfoSelfList(@Param("reservationId") Long reservationId,@Param("stockupId") Long stockupId, @Param("stockArticleId")Long stockArticleId);
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(@Param("orderCode") String orderCode);
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(@Param("orderCode") String orderCode,@Param("orderCode") Long warehouseId);
IPage<DistributionParcelListEntity> pageOweList(IPage<Object> page,@Param("param") DistributionParcelListDTO parcelListEntity);
}

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

@ -318,6 +318,7 @@
left join logpm_warehouse_updown_goods lwug on lwug.association_value = ldpl.order_package_code
where 1=1
and ldpl.order_code = #{orderCode}
and ldpl.warehouse_id = #{warehouseId}
and lwtg.id is null
and lwug.id is null
</select>

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

@ -300,11 +300,12 @@
<select id="fingListByServiceNumber" resultType="java.util.Map">
select ldsa.service_number serviceNum,
ldsa.order_code orderCode,
1 goodsType,
ldsa.total_number num,
ldsa.complete_set completeSet
from logpm_distribution_stock_article ldsa
where ldsa.is_deleted = 0
and ldsa.genre == 1
and ldsa.genre = 1
and ldsa.service_number = #{serviceNumber}
</select>
<select id="pageListOwe" parameterType="com.logpm.distribution.dto.DistributionStockArticleOweDTO" resultType="com.logpm.distribution.entity.DistributionStockArticleEntity">

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

@ -99,7 +99,7 @@ public interface IDistributionParcelListService extends BaseService<Distribution
*/
List<PackageStockupVO> selectOrderInfoSelfList(Long reservationId, Long stockArticleId, Long stockupId, Long trayId);
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode);
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode,Long warehouseId);
IPage<DistributionParcelListEntity> pageOweList(IPage<Object> page,Map<String, Object> distributionParcelList);
}

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

@ -188,8 +188,8 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
}
@Override
public List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode) {
return baseMapper.findALLNoUpShelfPackageByOrderCode(orderCode);
public List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode,Long warehouseId) {
return baseMapper.findALLNoUpShelfPackageByOrderCode(orderCode,warehouseId);
}
@Override

8
blade-service/logpm-factory/pom.xml

@ -107,6 +107,14 @@
<version>3.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-resource-api</artifactId>
<version>3.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

5
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/service/impl/AsyncDataServiceImpl.java

@ -407,15 +407,12 @@ public class AsyncDataServiceImpl implements IAsyncDataService {
// 需要从老系统进行订单数据查询
AdvanceEntity advanceEntity = findAdvanceEntityUseCacheByOrderSelfNum(factoryOrderEntity.getSelfCode(),carNumber);
if (ObjectUtils.isNull(advanceEntity)) {
//todo 先阶段值推送老系统的双流和无锡
if(!ArrayUtil.contains(jidiCanshu,receivingOrderEntity.getCurrentWarehouseName())){
log.info("推送老系统失败,当前仓库不是双流和无锡,推送失败 {}",receivingOrderEntity.getCurrentWarehouseName());
continue;
}
advanceEntity = new AdvanceEntity();
advanceEntity.setOrderSelfNum(StringUtil.isBlank(factoryOrderEntity.getSelfCode()) ? "" : factoryOrderEntity.getSelfCode()); //订单自编号
advanceEntity.setSiteName(receivingOrderEntity.getCurrentWarehouseName()); // 基地 TODO 需要映射
@ -848,7 +845,7 @@ public class AsyncDataServiceImpl implements IAsyncDataService {
String key = AdvanceEntity.class.getName() + ":" + orderSelfNum + ":" + departCode;
AdvanceEntity advanceEntity = bladeRedis.get(key);
if (ObjectUtils.isNull(advanceEntity)) {
advanceEntity = iAdvanceClient.getQueryDataOne(orderSelfNum);
advanceEntity = iAdvanceClient.getEntityByMctsTruck(orderSelfNum,departCode);
bladeRedis.setEx(key, advanceEntity, 12 * 60 * 60L);
}
return advanceEntity;

2
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpReceivingDataHandler.java

@ -35,7 +35,7 @@ public class OpReceivingDataHandler {
// 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉
log.info("##################opReceivingDataHandler: 处理欧派收货数据到新系统");
OpOrderStatusLogEntity opOrderStatusLogEntity = (OpOrderStatusLogEntity) map.get("messageData");
String args = opOrderStatusLogEntity.getArgs();
String args = opOrderStatusLogEntity.getResponseBody();
JSONObject jsonObject = JSONObject.parseObject(args);
JSONArray jsonArray = jsonObject.getJSONArray("value");
for (int i = 0; i < jsonArray.size(); i++) {

3
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/receiver/OpSignDataHandler.java

@ -58,8 +58,7 @@ public class OpSignDataHandler {
String messageData = new String(message.getBody());
OpOrderStatusLogEntity opOrderStatusLogEntity = (OpOrderStatusLogEntity) map.get("messageData");
String args = opOrderStatusLogEntity.getArgs();
JSONObject jsonObject = JSONObject.parseObject(args);
JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getResponseBody());
JSONArray jsonArray = jsonObject.getJSONArray("value");
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject valueObject = jsonArray.getJSONObject(i);

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

@ -11,15 +11,33 @@ import com.logpm.factory.comfac.service.IAsyncDataService;
import com.logpm.factory.oupai.entity.*;
import com.logpm.factory.oupai.mapper.ReceivingOrderMapper;
import com.logpm.factory.oupai.service.*;
import com.logpm.factory.oupai.vo.OpOrderStatusLogVO;
import com.logpm.factory.props.OuPaiProperties;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItem;
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.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.tool.api.R;
import org.springblade.resource.feign.IOssClient;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@ -52,6 +70,8 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
private IOssClient ossClient;
@Override
public String saveOuPaiFactoryOrderDTOByCarCarNumber(String code) {
@ -161,12 +181,11 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
// 保存需要解析的数据
// 获取返回内容
try {
JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getArgs());
JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getResponseBody());
JSONArray resultArray = jsonObject.getJSONArray("value");
log.info("############handlePackageData: 数据处理开始");
//TODO 这里需要添加处理配送发运单的逻辑
opOrderStatusLogEntity.setDataStatus(1);
} catch (Exception e) {
log.error("############handlePackageData: {}", e.getMessage());
@ -207,14 +226,16 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
HttpResponse httpResponse = HttpRequest.get(url).header("Authorization", token).execute();
String result = httpResponse.body();
// log.info("#################sendRequestData: 返回数据 result={}", result);
OpOrderStatusLogEntity orderStatusLog = new OpOrderStatusLogEntity();
orderStatusLog.setArgs(result);
orderStatusLog.setArgs(url);
orderStatusLog.setStatus(1);
orderStatusLog.setType(event);
orderStatusLog.setDataStatus(0);
orderStatusLog.setBrand("欧派");
orderStatusLog.setResponseBody(result);
orderStatusLog.setResponseUrl(uploadFile(result));
opOrderStatusLogService.save(orderStatusLog);
@ -234,13 +255,12 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
// 保存需要解析的数据
// 获取返回内容
try {
JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getArgs());
JSONObject jsonObject = JSONObject.parseObject(opOrderStatusLogEntity.getResponseBody());
JSONArray resultArray = jsonObject.getJSONArray("value");
log.info("############handleData: 数据处理开始");
analyzeData(resultArray);
opOrderStatusLogEntity.setDataStatus(1);
} catch (Exception e) {
e.printStackTrace();
log.error(">>>> error {}", e.getMessage());
opOrderStatusLogEntity.setDataStatus(2);
@ -378,7 +398,7 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
factoryOrderEntity.setStoreCode(store.getString("Code"));
factoryOrderEntity.setStoreName(store.getString("Name"));
JSONObject shop = store.getJSONObject("Shop");
if(!Objects.isNull(shop)){
if (!Objects.isNull(shop)) {
factoryOrderEntity.setShopCode(shop.getString("Code"));
factoryOrderEntity.setShopName(shop.getString("Name"));
}
@ -574,14 +594,18 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
HttpResponse httpResponse = HttpRequest.get(url).header("Authorization", token).execute();
String result = httpResponse.body();
// log.info(">>> findOurPaiDataByCarNumber result {}", result);
OpOrderStatusLogEntity orderStatusLog = new OpOrderStatusLogEntity();
orderStatusLog.setArgs(result);
orderStatusLog.setArgs(url);
orderStatusLog.setStatus(1);
orderStatusLog.setType(3);
orderStatusLog.setDataStatus(0);
orderStatusLog.setBrand("欧派");
orderStatusLog.setResponseBody(result);
orderStatusLog.setResponseUrl(uploadFile(result));
opOrderStatusLogService.save(orderStatusLog);
@ -589,6 +613,51 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
}
/**
* 上传文件到服务 返回文件路径
*
* @param body
* @return
*/
private String uploadFile(String body) {
//文本内容和保存为本地文件 并上传
String logPath = FileLogsUtil.saveFileLogs(body);
log.info(">>> 文件路径 {}", logPath);
MultipartFile multi = getMultipartFile(logPath);
//上传到服务器
R r = ossClient.fileUpload(multi);
if (r.isSuccess()) {
BladeFile data = (BladeFile) r.getData();
return data.getLink();
}
return null;
}
/**
* 通过文件构建 MultipartFile
*/
@NotNull
private MultipartFile getMultipartFile(String logPath) {
File file = new File(logPath);
// File 转 MultipartFile
FileItem item = new DiskFileItemFactory().createItem("file"
, MediaType.MULTIPART_FORM_DATA_VALUE
, true
, file.getName());
try (InputStream input = new FileInputStream(file);
OutputStream os = item.getOutputStream()) {
// 流转移
IOUtils.copy(input, os);
} catch (Exception e) {
throw new IllegalArgumentException("Invalid file: " + e, e);
}
return new CommonsMultipartFile(item);
}
/**
* 获取请求签名

69
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

File diff suppressed because one or more lines are too long

6
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

@ -157,6 +157,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
upShelfDataVO.setOrderCode((String) map.get("orderCode"));
upShelfDataVO.setTotalNum((Integer) map.get("num"));
upShelfDataVO.setCompleteSet((Integer) map.get("completeSet"));
upShelfDataVO.setGoodsType((Integer) map.get("goodsType"));
list.add(upShelfDataVO);
}
@ -191,6 +192,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
dataVO.setOrderCode(stockArticleEntity.getOrderCode());
dataVO.setTotalNum(stockArticleEntity.getTotalNumber());
dataVO.setCompleteSet(stockArticleEntity.getCompleteSet());
dataVO.setGoodsType(1);
ls.add(dataVO);
return ls;
}else if(upshelfScanType == 3){
@ -242,6 +244,8 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
UpShelfDataVO dataVO = new UpShelfDataVO();
dataVO.setOrderCode(parcelListEntity.getOrderCode());
dataVO.setOrderPackageCode(parcelListEntity.getOrderPackageCode());
dataVO.setTotalNum(1);
dataVO.setGoodsType(0);
ls.add(dataVO);
return ls;
}else if(upshelfScanType == 4){
@ -520,7 +524,7 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
continue;
}
//查询所有该订单号未上架的数据
List<DistributionParcelListEntity> parcelListList = distributionParcelListClient.findALLNoUpShelfPackageByOrderCode(orderCode);
List<DistributionParcelListEntity> parcelListList = distributionParcelListClient.findALLNoUpShelfPackageByOrderCode(orderCode,warehouseId);
for (DistributionParcelListEntity parcelListEntity:parcelListList){
try{
String orderPackageCode = parcelListEntity.getOrderPackageCode();

Loading…
Cancel
Save