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