|
|
@@ -16,6 +16,7 @@
|
|
|
*/
|
|
|
package org.springblade.los.business.sea.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -25,10 +26,10 @@ import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.los.business.sea.entity.Bills;
|
|
|
import org.springblade.los.business.sea.entity.Containers;
|
|
|
+import org.springblade.los.business.sea.entity.ContainersBills;
|
|
|
import org.springblade.los.business.sea.entity.PreContainers;
|
|
|
import org.springblade.los.business.sea.mapper.BillsMapper;
|
|
|
import org.springblade.los.business.sea.mapper.PreContainersMapper;
|
|
|
-import org.springblade.los.business.sea.service.IBillsService;
|
|
|
import org.springblade.los.business.sea.service.IContainersBillsService;
|
|
|
import org.springblade.los.business.sea.service.IContainersService;
|
|
|
import org.springblade.los.business.sea.service.IPreContainersService;
|
|
|
@@ -41,6 +42,7 @@ import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 业务-海运进出口-预配箱型箱量 服务实现类
|
|
|
@@ -144,4 +146,32 @@ public class PreContainersServiceImpl extends ServiceImpl<PreContainersMapper, P
|
|
|
return R.data(preContainers);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
+ public R delete(List<Long> ids) {
|
|
|
+ for (Long id : ids) {
|
|
|
+ List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
+ .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getIsDeleted, 0)
|
|
|
+ .eq(Containers::getLineNo, id));
|
|
|
+ if (containersList.size() > 0) {
|
|
|
+ List<Long> containersIds = containersList.stream().map(Containers::getId).collect(Collectors.toList());
|
|
|
+ if (containersIds.size() > 0) {
|
|
|
+ long count = containersBillsService.count(new LambdaQueryWrapper<ContainersBills>()
|
|
|
+ .eq(ContainersBills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(ContainersBills::getIsDeleted, 0)
|
|
|
+ .in(ContainersBills::getPid, containersIds));
|
|
|
+ if (count > 0) {
|
|
|
+ throw new RuntimeException("请先撤销配箱信息");
|
|
|
+ } else {
|
|
|
+ containersService.removeByIds(containersIds);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.removeByIds(ids);
|
|
|
+ return R.data("操作成功");
|
|
|
+ }
|
|
|
+
|
|
|
}
|