Browse Source

增加后台验证判断

ioioio 4 years ago
parent
commit
1e40028c4f

+ 20 - 0
blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java

@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import io.swagger.annotations.ApiParam;
 import org.springblade.check.dto.AuditProecessDTO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -36,6 +37,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.finance.entity.Settlement;
 import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.purchase.sales.entity.Order;
@@ -150,6 +152,24 @@ public class AuditProecessController extends BladeController {
 		return R.success("操作成功");
 	}
 
+	@PostMapping("batchOperation")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "批量审批", notes = "传入auditProecessDTOList")
+	public R batchOperation(@ApiParam(value = "主键集合", required = true) @RequestParam String ids,
+							@ApiParam(value = "操作状态", required = true) @RequestParam String auditStatus)
+	{
+              LambdaQueryWrapper<AuditProecess> auditProecessLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		      auditProecessLambdaQueryWrapper.in(AuditProecess::getId, Func.toLongList(ids));
+		      List<AuditProecess> proecessList = auditProecessService.list(auditProecessLambdaQueryWrapper);
+		      if(CollectionUtils.isEmpty(proecessList))
+		      {
+		      	throw new SecurityException("未查询相关数据,禁止操作");
+			  }
+		     auditProecessService.batchOperation(proecessList,auditStatus);
+		     return R.success("操作成功");
+	}
+
+
 
 	/**
 	 * 详情

+ 4 - 0
blade-service/blade-check/src/main/java/org/springblade/check/service/IAuditProecessService.java

@@ -22,6 +22,8 @@ import org.springblade.check.vo.AuditProecessVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 审批流记录 服务类
  *
@@ -43,4 +45,6 @@ public interface IAuditProecessService extends IService<AuditProecess> {
 
 	void operationFinanceProcess(AuditProecess auditProecess);
 
+	void batchOperation(List<AuditProecess> processLis,String auditStatus);
+
 }

+ 15 - 0
blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java

@@ -119,6 +119,10 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 	@GlobalTransactional
 	public void operationFinanceProcess(AuditProecess auditProecess)
 	{
+		if(auditProecess.getAuditStatus()==null || !auditProecess.getAuditStatus().equals("S"))
+		{
+			 throw new SecurityException("审批状态非待审,禁止操作");
+		}
 		//信息
 		Message message=new Message();
 		message.setUserName(AuthUtil.getUserName());
@@ -232,4 +236,15 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 		baseMapper.updateById(auditProecess);
 	}
 
+	@Override
+	@Transactional
+	@GlobalTransactional
+	public void batchOperation(List<AuditProecess> processLis, String auditStatus)
+	{
+		processLis.forEach(e->{
+			e.setAuditStatus(auditStatus);
+			this.operationFinanceProcess(e);
+		});
+	}
+
 }

+ 14 - 1
blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescController.java

@@ -270,7 +270,20 @@ public class GoodsDescController extends BladeController {
 		goodsDesc.setIsDeleted(0);
 		goodsDesc.setTenantId(AuthUtil.getTenantId());
 		goodsDesc.setType(GoodsTypeEnum.GOODS.getType());
-		return R.data(goodsDescService.selectGoods(Condition.getPage(query),goodsDesc));
+		IPage<GoodsDescVO> goodsDescVOIPage = goodsDescService.selectGoods(Condition.getPage(query), goodsDesc);
+		if(CollectionUtils.isNotEmpty(goodsDescVOIPage.getRecords()))
+		{
+			goodsDescVOIPage.getRecords().forEach(e->{
+				LambdaQueryWrapper<GoodsSpecification> specificationWrapper = new LambdaQueryWrapper<>();
+				specificationWrapper.eq(GoodsSpecification::getPid,e.getId());
+				specificationWrapper.eq(GoodsSpecification::getIsDeleted,0);
+				specificationWrapper.eq(GoodsSpecification::getTenantId,SecureUtil.getTenantId());
+				List<GoodsSpecification> goodsSpecificationList = goodsSpecificationService.list(specificationWrapper);
+				e.setGoodsSpecificationList(goodsSpecificationList);
+			});
+
+		}
+		return R.data(goodsDescVOIPage);
 	}
 
 	/**