|
|
@@ -13,6 +13,7 @@ import org.springblade.business.entity.Task;
|
|
|
import org.springblade.business.entity.TaskParallel;
|
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
+import org.springblade.core.secure.BladeUser;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
@@ -28,6 +29,7 @@ import org.springblade.meter.mapper.MeterApproveOpinionMapper;
|
|
|
import org.springblade.meter.mapper.MiddleMeterApplyTaskMapper;
|
|
|
import org.springblade.meter.mapper.StartPayMeterFormTaskMapper;
|
|
|
import org.springblade.meter.vo.ApiTaskPageVo;
|
|
|
+import org.springblade.system.entity.Role;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
@@ -66,6 +68,26 @@ public class APIController {
|
|
|
// if (ObjectUtil.isEmpty(dto.getProjectId()) || ObjectUtil.isEmpty(dto.getContractId())) {
|
|
|
// throw new ServiceException("未获取到当前项目或合同段信息");
|
|
|
// }
|
|
|
+ Boolean isYZ=false;
|
|
|
+ BladeUser user = SecureUtil.getUser();
|
|
|
+ String roleId = user.getRoleId();
|
|
|
+ String sqlRole="select * from blade_role where id="+roleId;
|
|
|
+ List<Role> query1 = jdbcTemplate.query(sqlRole, new BeanPropertyRowMapper<>(Role.class));
|
|
|
+ if(!query1.isEmpty()){
|
|
|
+ Role role = query1.get(0);
|
|
|
+ Long parentId = role.getParentId();
|
|
|
+ if(parentId==1537246243393589249L){
|
|
|
+ isYZ=true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (roleId.equals("1537246243393589249")){
|
|
|
+ isYZ=true;
|
|
|
+ }
|
|
|
+ if(!isYZ){
|
|
|
+ if (ObjectUtil.isEmpty(dto.getProjectId()) || ObjectUtil.isEmpty(dto.getContractId())) {
|
|
|
+ throw new ServiceException("未获取到当前项目或合同段信息");
|
|
|
+ }
|
|
|
+ }
|
|
|
if(dto.getCurrent()==null){
|
|
|
dto.setCurrent(1);
|
|
|
}
|
|
|
@@ -94,6 +116,10 @@ public class APIController {
|
|
|
ids.add(Long.parseLong(dto.getContractId())); //把本身合同段也加入查询
|
|
|
sqlString.append(" AND contract_id in(").append(StringUtils.join(ids, ",")).append(")");
|
|
|
}
|
|
|
+ }else {
|
|
|
+ if(isYZ){
|
|
|
+ sqlString.append(" AND project_id in ('1750070685257990145','1795277868551389185') ");
|
|
|
+ }
|
|
|
}
|
|
|
if (ObjectUtil.isNotEmpty(dto.getStatusValue())) {
|
|
|
if(dto.getStatusValue() .equals(4) ){//----先查询出所有待审批的 然后根据条件进行过滤出任务已经到当前登陆人的任务为可审批
|
|
|
@@ -135,6 +161,28 @@ public class APIController {
|
|
|
params.add(SecureUtil.getUserId());
|
|
|
}
|
|
|
sqlString.append(")");
|
|
|
+ }else {
|
|
|
+ if(isYZ){
|
|
|
+ sqlString.append(" AND (");
|
|
|
+ /*如果是待办页面,且 任务状态下拉框 选择的是 待审批或可审批状态 的任务,那么才查询数据*/
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getStatusValue()) && (dto.getStatusValue().equals(1) || dto.getStatusValue().equals(4))) {
|
|
|
+ sqlString.append("EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.status = ? AND u_task_parallel.task_user = ?)");
|
|
|
+ params.add(1);
|
|
|
+ params.add(SecureUtil.getUserId());
|
|
|
+
|
|
|
+ /*如果是待办页面,且 任务状态下拉框 选择的不是 待审批状态 的任务,那么直接返回null*/
|
|
|
+ } else if (ObjectUtil.isNotEmpty(dto.getStatusValue()) && !dto.getStatusValue().equals(1)) {
|
|
|
+ return null;
|
|
|
+
|
|
|
+ /*如果是待办页面,没选择 任务状态下拉框,那么就默认查询 待审批状态 任务*/
|
|
|
+ } else if (ObjectUtil.isEmpty(dto.getStatusValue())) {
|
|
|
+ sqlString.append("EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.status = ? AND u_task_parallel.task_user = ?)");
|
|
|
+ params.add(1);
|
|
|
+ params.add(SecureUtil.getUserId());
|
|
|
+ sqlString.append(" AND status = 1");
|
|
|
+ }
|
|
|
+ sqlString.append(")");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*总数量*/
|