Explorar o código

2023年10月23日17:28:54

纪新园 %!s(int64=2) %!d(string=hai) anos
pai
achega
c448356c07

+ 10 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/ContainersController.java

@@ -123,6 +123,16 @@ public class ContainersController extends BladeController {
 		return containersService.cleanBoxNo(Func.toLongList(ids));
 	}
 
+	/**
+	 * 撤销
+	 */
+	@PostMapping("/revoke")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "撤销", notes = "传入ids")
+	public R revoke(@RequestParam String ids) {
+		return containersService.revoke(Func.toLongList(ids));
+	}
+
 
 	/**
 	 * 删除 业务-海运进出口配箱-箱号装箱业务

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IContainersService.java

@@ -67,4 +67,6 @@ public interface IContainersService extends IService<Containers> {
 	 * @return
 	 */
 	R cleanBoxNo(List<Long> containersList);
+
+	R revoke(List<Long> toLongList);
 }

+ 26 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/ContainersServiceImpl.java

@@ -198,6 +198,7 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 				throw new RuntimeException("请先保存");
 			}
 			item.setCntrNo("");
+			item.setSealNo("");
 			item.setUpdateTime(new Date());
 			item.setUpdateUser(AuthUtil.getUserId());
 			item.setUpdateUserName(AuthUtil.getUserName());
@@ -206,4 +207,29 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 		return R.data(containersList);
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
+	public R revoke(List<Long> toLongList) {
+		List<ContainersBills> containersBillsList = containersBillsService.list(new LambdaQueryWrapper<ContainersBills>()
+			.eq(ContainersBills::getTenantId, AuthUtil.getTenantId())
+			.eq(ContainersBills::getIsDeleted, 0)
+			.in(ContainersBills::getPid, toLongList));
+		if (ObjectUtils.isNotNull(containersBillsList)) {
+			for (ContainersBills item : containersBillsList) {
+				Bills bills = billsMapper.selectById(item.getPpId());
+				bills.setCfsQuantity((ObjectUtils.isNotNull(bills.getCfsQuantity()) ? bills.getCfsQuantity() : new BigDecimal("0.00")).subtract(item.getQuantity()));
+				bills.setCfsQuantity((ObjectUtils.isNotNull(bills.getCfsMeasurement()) ? bills.getCfsMeasurement() : new BigDecimal("0.00")).subtract(item.getMeasurement()));
+				bills.setCfsQuantity((ObjectUtils.isNotNull(bills.getCfsGrossWeight()) ? bills.getCfsGrossWeight() : new BigDecimal("0.00")).subtract(item.getGrossWeight()));
+				bills.setUpdateUserName(AuthUtil.getUserName());
+				bills.setUpdateUser(AuthUtil.getUserId());
+				bills.setUpdateTime(new Date());
+				billsMapper.updateById(bills);
+			}
+			containersBillsService.removeByIds(containersBillsList.stream().map(ContainersBills::getId).collect(Collectors.toList()));
+		}
+		baseMapper.deleteBatchIds(toLongList);
+		return R.data("操作成功");
+	}
+
 }