demand: 孟加拉国际手提漏组批次扫描未根据始发网点扫描bug修复 组批次完成后运单分批组删除完成状态
committer: heyu
This commit is contained in:
parent
d0407cf409
commit
9264bfb781
@ -20,4 +20,11 @@ public interface EmisWaybillBatchStatusMapper extends BaseMapper<EmisWaybillBatc
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchInsertEmisWaybillBatchStatus(List<EmisWaybillBatchStatus> batchStatusList);
|
||||
|
||||
/**
|
||||
* 根据运单号列表批量删除批次状态
|
||||
* @param billCodes 运单号列表
|
||||
* @return 删除条数
|
||||
*/
|
||||
int deleteByBillCodes(@Param("billCodes") List<String> billCodes);
|
||||
}
|
||||
@ -4462,7 +4462,8 @@ public class EmisBaseService {
|
||||
}
|
||||
}
|
||||
|
||||
public void filterBatchStatusList(List<EmisWaybillBatchStatus> batchStatusList, List<EmisTmsSiteBatchMiss> missRecords) {
|
||||
public void filterBatchStatusList(List<EmisWaybillBatchStatus> batchStatusList,
|
||||
List<EmisTmsSiteBatchMiss> missRecords) {
|
||||
// 获取所有运单号
|
||||
List<String> batchStatusBillCodes = batchStatusList.stream()
|
||||
.map(EmisWaybillBatchStatus::getBillCode)
|
||||
@ -4485,27 +4486,37 @@ public class EmisBaseService {
|
||||
}
|
||||
// 将waybill_batch_status=1的运单进行去重处理添加到漏组记录
|
||||
Set<String> processedBillCodes = new HashSet<>();
|
||||
if (CollectionUtil.isNotEmpty(missRecords)) {
|
||||
for (EmisWaybillBatchStatus batchStatus : batchStatusList) {
|
||||
if (filteredBillCodes.contains(batchStatus.getBillCode())
|
||||
&& processedBillCodes.add(batchStatus.getBillCode())) {
|
||||
// 创建漏组记录
|
||||
EmisTmsSiteBatchMiss missRecord = new EmisTmsSiteBatchMiss();
|
||||
missRecord.setBillCode(batchStatus.getBillCode());
|
||||
missRecord.setMissReason("运单分批后未组完");
|
||||
missRecord.setMissType("4");
|
||||
missRecord.setCreateBy("system");
|
||||
missRecord.setCreateTime(new Date());
|
||||
missRecord.setCreateSite("88888");
|
||||
if (missRecords == null) {
|
||||
missRecords = new ArrayList<>();
|
||||
}
|
||||
for (EmisWaybillBatchStatus batchStatus : batchStatusList) {
|
||||
if (filteredBillCodes.contains(batchStatus.getBillCode())
|
||||
&& processedBillCodes.add(batchStatus.getBillCode())) {
|
||||
// 查询运单对应的批次号
|
||||
List<String> batchNos = filteredBatchDtls.stream().filter(i -> batchStatus.getBillCode().equals(i.getBillCode())).map(EmisTmsSiteBatchDtl::getBatchNo).distinct().collect(Collectors.toList());
|
||||
String batchNoStr = CollectionUtil.isNotEmpty(batchNos) ? String.join(",", batchNos) : "";
|
||||
|
||||
// 添加到漏组记录列表
|
||||
missRecords.add(missRecord);
|
||||
}
|
||||
// 创建漏组记录
|
||||
EmisTmsSiteBatchMiss missRecord = new EmisTmsSiteBatchMiss();
|
||||
missRecord.setBillCode(batchStatus.getBillCode());
|
||||
missRecord.setMissReason("运单分批后未组完,批次号:" + batchNoStr);
|
||||
missRecord.setMissType("4");
|
||||
missRecord.setCreateBy("system");
|
||||
missRecord.setCreateTime(new Date());
|
||||
missRecord.setCreateSite("88888");
|
||||
|
||||
// 添加到漏组记录列表
|
||||
missRecords.add(missRecord);
|
||||
}
|
||||
}
|
||||
|
||||
// 从batchStatusList中剔除waybill_batch_status=1的运单
|
||||
batchStatusList.removeIf(batchStatus -> filteredBillCodes.contains(batchStatus.getBillCode()));
|
||||
|
||||
if (CollectionUtil.isNotEmpty(filteredBillCodes)) {
|
||||
emisWaybillBatchStatusMapper.deleteByBillCodes(new ArrayList<>(filteredBillCodes));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void saveRecord(int totalProcessed, int successCount, int failCount, long processTime,
|
||||
|
||||
@ -34,4 +34,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 根据运单号列表批量删除批次状态 -->
|
||||
<delete id="deleteByBillCodes" parameterType="java.util.List">
|
||||
delete from emis_waybill_batch_status
|
||||
where bill_code in
|
||||
<foreach collection="billCodes" item="billCode" open="(" separator="," close=")">
|
||||
#{billCode}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user