|
@@ -1,27 +1,33 @@
|
|
|
package cn.cslg.permission.service.qiaobi;
|
|
|
|
|
|
+import cn.cslg.permission.common.model.Records;
|
|
|
import cn.cslg.permission.common.model.qiaobi.QiaoBiPersonSignUpDTO;
|
|
|
import cn.cslg.permission.common.model.qiaobi.businessTask.AuditTaskDTO;
|
|
|
import cn.cslg.permission.common.model.qiaobi.businessTask.QueryAuditTaskDTO;
|
|
|
import cn.cslg.permission.common.model.qiaobi.businessTask.QueryAuditTaskVO;
|
|
|
+import cn.cslg.permission.common.model.qiaobi.version.BusinessTaskVersionVO;
|
|
|
+import cn.cslg.permission.common.model.qiaobi.version.VersionStatusDTO;
|
|
|
+import cn.cslg.permission.common.model.vo.PersonnelVO;
|
|
|
+import cn.cslg.permission.common.model.vo.associate.AssoDepartPosVO;
|
|
|
+import cn.cslg.permission.common.utils.CacheUtils;
|
|
|
import cn.cslg.permission.common.utils.LoginUtils;
|
|
|
import cn.cslg.permission.domain.Department;
|
|
|
import cn.cslg.permission.domain.Personnel;
|
|
|
import cn.cslg.permission.domain.Position;
|
|
|
+import cn.cslg.permission.domain.Version;
|
|
|
import cn.cslg.permission.domain.qiaobi.BusinessTask;
|
|
|
import cn.cslg.permission.domain.qiaobi.RegistInformation;
|
|
|
import cn.cslg.permission.exception.ExceptionEnum;
|
|
|
import cn.cslg.permission.exception.XiaoShiException;
|
|
|
import cn.cslg.permission.mapper.qiaobi.BusinessTaskMapper;
|
|
|
-import cn.cslg.permission.service.DepartmentService;
|
|
|
-import cn.cslg.permission.service.PersonnelService;
|
|
|
-import cn.cslg.permission.service.PositionService;
|
|
|
-import cn.cslg.permission.service.RoleService;
|
|
|
+import cn.cslg.permission.service.*;
|
|
|
+import cn.cslg.permission.service.associate.PerDpService;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import io.swagger.v3.oas.models.security.SecurityScheme;
|
|
|
import jdk.internal.org.jline.utils.ShutdownHooks;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -44,19 +50,38 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
private final RegistInformationService registInformationService;
|
|
|
private final AssoPersonVipTypeService assoPersonVipTypeService;
|
|
|
private final LoginUtils loginUtils;
|
|
|
+ private final CacheUtils cacheUtils;
|
|
|
+ private final AssoBusinessTaskVersionService assoBusinessTaskVersionService;
|
|
|
+ private final VersionService versionService;
|
|
|
+ private final PerDpService perDpService;
|
|
|
+ @Value("${ApplicationCode}")
|
|
|
+ private String ApplicationCode;
|
|
|
+
|
|
|
+ public Records queryAuditTask(QueryAuditTaskDTO queryAuditTaskDTO) {
|
|
|
+ Long current = queryAuditTaskDTO.getCurrent();
|
|
|
+ Long size = queryAuditTaskDTO.getSize();
|
|
|
+ Records records = new Records();
|
|
|
+ records.setCurrent(current);
|
|
|
+ if (current != null && size != null) {
|
|
|
+ queryAuditTaskDTO.setCurrent(((current - 1) * size));
|
|
|
+ }
|
|
|
|
|
|
- public List<QueryAuditTaskVO> queryAuditTask(QueryAuditTaskDTO queryAuditTaskDTO) {
|
|
|
Integer tenantId = roleService.checkLoginPersonRole();
|
|
|
queryAuditTaskDTO.setTenantId(tenantId);
|
|
|
List<QueryAuditTaskVO> queryAuditTaskVOS = this.getBaseMapper().queryAuditTask(queryAuditTaskDTO);
|
|
|
this.loadQueryAuditTaskDTO(queryAuditTaskVOS);
|
|
|
- return queryAuditTaskVOS;
|
|
|
+ Long total = this.getBaseMapper().queryAuditTaskTotal(queryAuditTaskDTO);
|
|
|
+ records.setRecords(queryAuditTaskVOS);
|
|
|
+ records.setTotal(total);
|
|
|
+ records.setSize(size);
|
|
|
+ return records;
|
|
|
}
|
|
|
|
|
|
private List<QueryAuditTaskVO> loadQueryAuditTaskDTO(List<QueryAuditTaskVO> queryAuditTaskVOS) {
|
|
|
if (queryAuditTaskVOS == null || queryAuditTaskVOS.size() == 0) {
|
|
|
return queryAuditTaskVOS;
|
|
|
}
|
|
|
+ List<Integer> versionTaskIds = new ArrayList<>();
|
|
|
List<Integer> personIds = new ArrayList<>();
|
|
|
List<Personnel> personnelList = new ArrayList<>();
|
|
|
List<Integer> departMentIds = new ArrayList<>();
|
|
@@ -67,8 +92,8 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
if (item.getCreateId() != null) {
|
|
|
personIds.add(item.getCreateId());
|
|
|
}
|
|
|
- if (item.getDepartMentId() != null) {
|
|
|
- departMentIds.add(item.getDepartMentId());
|
|
|
+ if (item.getDepartmentId() != null) {
|
|
|
+ departMentIds.add(item.getDepartmentId());
|
|
|
}
|
|
|
if (item.getHandleId() != null) {
|
|
|
personIds.add(item.getHandleId());
|
|
@@ -76,6 +101,9 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
if (item.getPositionId() != null) {
|
|
|
positionIds.add(item.getPositionId());
|
|
|
}
|
|
|
+ if (item.getType() != null && item.getType().equals(2)) {
|
|
|
+ versionTaskIds.add(item.getId());
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
if (personIds != null && personIds.size() > 0) {
|
|
@@ -88,6 +116,10 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
positionList = positionService.getPositionByIds(positionIds);
|
|
|
}
|
|
|
|
|
|
+ List<BusinessTaskVersionVO> businessTaskVersionVOS = new ArrayList<>();
|
|
|
+ if (versionTaskIds != null && versionTaskIds.size() > 0) {
|
|
|
+ businessTaskVersionVOS = assoBusinessTaskVersionService.getBaseMapper().queryVersionByTaskIds(versionTaskIds);
|
|
|
+ }
|
|
|
for (QueryAuditTaskVO queryAuditTaskVO : queryAuditTaskVOS) {
|
|
|
Personnel createUser = personnelList.stream().filter(item -> item.getId().equals(queryAuditTaskVO.getCreateId())).findFirst().orElse(null);
|
|
|
if (createUser != null) {
|
|
@@ -97,14 +129,22 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
if (handlerUser != null) {
|
|
|
queryAuditTaskVO.setHandleName(handlerUser.getPersonnelName());
|
|
|
}
|
|
|
- Department department = departmentList.stream().filter(item -> item.getId().equals(queryAuditTaskVO.getDepartMentId())).findFirst().orElse(null);
|
|
|
+ Department department = departmentList.stream().filter(item -> item.getId().equals(queryAuditTaskVO.getDepartmentId())).findFirst().orElse(null);
|
|
|
if (department != null) {
|
|
|
- queryAuditTaskVO.setDepartMentName(department.getDepartmentName());
|
|
|
+ queryAuditTaskVO.setDepartmentName(department.getDepartmentName());
|
|
|
}
|
|
|
Position position = positionList.stream().filter(item -> item.getId().equals(queryAuditTaskVO.getPositionId())).findFirst().orElse(null);
|
|
|
if (position != null) {
|
|
|
queryAuditTaskVO.setPositionName(position.getPositionName());
|
|
|
}
|
|
|
+ if (queryAuditTaskVO.getType() != null && queryAuditTaskVO.getType().equals(2)) {
|
|
|
+ BusinessTaskVersionVO businessTaskVersionVO = businessTaskVersionVOS.stream().filter(item -> item.getBusinessTaskId().equals(queryAuditTaskVO.getId())).findFirst().orElse(null);
|
|
|
+ if (businessTaskVersionVO != null) {
|
|
|
+ businessTaskVersionVO.setVersionNum(businessTaskVersionVO.getVersionNum());
|
|
|
+ businessTaskVersionVO.setVersionName(businessTaskVersionVO.getVersionName());
|
|
|
+ businessTaskVersionVO.setVersionId(businessTaskVersionVO.getVersionId());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return queryAuditTaskVOS;
|
|
|
}
|
|
@@ -118,7 +158,7 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void auditTasks(AuditTaskDTO auditTaskDTO) {
|
|
|
- List<Integer> taskIds = auditTaskDTO.getTaskIds();
|
|
|
+ List<Integer> taskIds = auditTaskDTO.getIds();
|
|
|
if (taskIds == null || taskIds.size() == 0) {
|
|
|
throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "请选择至少一个任务");
|
|
|
}
|
|
@@ -164,9 +204,10 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
businessTask.updateById();
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void auditSignUpTaskPass(BusinessTask businessTask) {
|
|
|
//查询人员注册信息
|
|
|
- Integer taskId = businessTask.getTaskType();
|
|
|
+ Integer taskId = businessTask.getId();
|
|
|
RegistInformation registInformation = registInformationService.getRegistInformationByTaskId(taskId);
|
|
|
if (registInformation == null) {
|
|
|
throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "任务无注册信息");
|
|
@@ -174,6 +215,27 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
Integer vipTypeId = registInformation.getVipTypeId();
|
|
|
QiaoBiPersonSignUpDTO qiaoBiPersonSignUpDTO = this.transFormToQiaoBiPersonSignUpDTO(registInformation);
|
|
|
qiaoBiPersonSignUpDTO = personnelService.addPhoneSignUpPerson(qiaoBiPersonSignUpDTO);
|
|
|
+
|
|
|
+ if (registInformation.getDepartMentId() != null || registInformation.getPositionId() != null) {
|
|
|
+ List<AssoDepartPosVO> assoDepartPoseVos = new ArrayList<>();
|
|
|
+ AssoDepartPosVO assoDepartPosVO = new AssoDepartPosVO();
|
|
|
+ assoDepartPosVO.setDepartment(registInformation.getDepartMentId());
|
|
|
+ if (registInformation.getDepartMentId() != null) {
|
|
|
+ Department department = departmentService.getById(registInformation.getDepartMentId());
|
|
|
+ if(department!=null){
|
|
|
+ assoDepartPosVO.setDepartmentName(department.getDepartmentName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ assoDepartPosVO.setPosition(registInformation.getPositionId());
|
|
|
+ if(registInformation.getPositionId()!=null){
|
|
|
+ Position position = positionService.getById(registInformation.getDepartMentId());
|
|
|
+ if(position!=null){
|
|
|
+ assoDepartPosVO.setPositionName(position.getPositionName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ assoDepartPoseVos.add(assoDepartPosVO);
|
|
|
+ perDpService.addAssociatePerDp(assoDepartPoseVos, qiaoBiPersonSignUpDTO.getId());
|
|
|
+ }
|
|
|
//绑定版本
|
|
|
assoPersonVipTypeService.addVip(qiaoBiPersonSignUpDTO.getId(), vipTypeId, null);
|
|
|
this.updateAuditTaskResult(businessTask, 1);
|
|
@@ -196,11 +258,23 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
public void auditVersionTaskPass(BusinessTask businessTask) {
|
|
|
roleService.checkApplicationRootRole("4e95e3d926a2a4befa5d913acc0bb8t6");
|
|
|
this.updateAuditTaskResult(businessTask, 1);
|
|
|
+ VersionStatusDTO versionStatusDTO = new VersionStatusDTO();
|
|
|
+ versionStatusDTO.setStatus(3);
|
|
|
+ Integer versionId = assoBusinessTaskVersionService.getVersionId(businessTask.getId());
|
|
|
+ versionStatusDTO.setId(versionId);
|
|
|
+
|
|
|
+ versionService.updateVersionStatusSys(versionStatusDTO);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public void auditVersionTaskNotPass(BusinessTask businessTask) {
|
|
|
|
|
|
this.updateAuditTaskResult(businessTask, 0);
|
|
|
+ VersionStatusDTO versionStatusDTO = new VersionStatusDTO();
|
|
|
+ versionStatusDTO.setStatus(4);
|
|
|
+ Integer versionId = assoBusinessTaskVersionService.getVersionId(businessTask.getId());
|
|
|
+ versionStatusDTO.setId(versionId);
|
|
|
+ versionService.updateVersionStatus(versionStatusDTO);
|
|
|
}
|
|
|
|
|
|
public QiaoBiPersonSignUpDTO transFormToQiaoBiPersonSignUpDTO(RegistInformation registInformation) {
|
|
@@ -213,6 +287,17 @@ public class BusinessTaskService extends ServiceImpl<BusinessTaskMapper, Busines
|
|
|
return qiaoBiPersonSignUpDTO;
|
|
|
}
|
|
|
|
|
|
+ public void AddVersionBusinessTask(Integer versionId) {
|
|
|
+
|
|
|
+ PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ BusinessTask businessTask = new BusinessTask();
|
|
|
+ businessTask.setTaskType(2);
|
|
|
+ businessTask.setStatus(0);
|
|
|
+ businessTask.setTenantId(personnelVO.getTenantId());
|
|
|
+ businessTask.setCreateId(loginUtils.getId());
|
|
|
+ businessTask.insert();
|
|
|
+ assoBusinessTaskVersionService.addAssoBusinessTaskVersion(businessTask.getId(), versionId);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|