|
|
|
@ -10,6 +10,7 @@ import com.ruoyi.tc.entity.po.*;
|
|
|
|
|
import com.ruoyi.tc.entity.request.*;
|
|
|
|
|
import com.ruoyi.tc.entity.response.AssestTaskXqresponse;
|
|
|
|
|
import com.ruoyi.tc.entity.response.AssetTaskResponse;
|
|
|
|
|
import com.ruoyi.tc.entity.response.AssetdwHcBlResponse;
|
|
|
|
|
import com.ruoyi.tc.entity.response.AssetdwHcResponse;
|
|
|
|
|
import com.ruoyi.tc.mapper.AssetTaskMapper;
|
|
|
|
|
import com.ruoyi.tc.service.*;
|
|
|
|
@ -137,19 +138,18 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
int a = 0;
|
|
|
|
|
//遍历单位
|
|
|
|
|
String[] taskParts = assetTask.getDwmc().split(",");
|
|
|
|
|
for (String part : taskParts) {
|
|
|
|
|
//根据单位查询所有资产
|
|
|
|
|
//web
|
|
|
|
|
// 遍历资产类型字段
|
|
|
|
|
String[] uParts = assetTask.getType().split(",");
|
|
|
|
|
int current = 0;
|
|
|
|
|
int xcx = 0;
|
|
|
|
|
int gzh = 0;
|
|
|
|
|
int email = 0;
|
|
|
|
|
int app = 0;
|
|
|
|
|
int totalCount = 0;
|
|
|
|
|
for (String part : taskParts) {
|
|
|
|
|
//根据单位查询所有资产
|
|
|
|
|
//web
|
|
|
|
|
// 遍历资产类型字段
|
|
|
|
|
String[] uParts = assetTask.getType().split(",");
|
|
|
|
|
for (String qq : uParts) {
|
|
|
|
|
|
|
|
|
|
if (qq.equals("0")) {
|
|
|
|
|
current = assetCurrentService.findBydwmc(part);
|
|
|
|
|
totalCount += current;
|
|
|
|
@ -251,7 +251,7 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
queryWrapper.eq("ssdw", part);
|
|
|
|
|
queryWrapper.eq("isbf", 0);
|
|
|
|
|
queryWrapper.eq("del_flag", 0);
|
|
|
|
|
List<AssetMiniPrograms> list = assetMiniProgramsService.lambdaQuery().eq(AssetMiniPrograms::getSsdw, part).eq(AssetMiniPrograms::getIsbf,0).eq(AssetMiniPrograms::getDelFlag,0).list();
|
|
|
|
|
List<AssetMiniPrograms> list = assetMiniProgramsService.lambdaQuery().eq(AssetMiniPrograms::getSsdw, part).eq(AssetMiniPrograms::getIsbf, 0).eq(AssetMiniPrograms::getDelFlag, 0).list();
|
|
|
|
|
List<AssetMiniProgramsCpPo> miniProgramsNewList = list.stream()
|
|
|
|
|
.map(cpPo -> {
|
|
|
|
|
AssetMiniProgramsCpPo assetMiniProgramsCpPo = new AssetMiniProgramsCpPo();
|
|
|
|
@ -273,7 +273,7 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
queryWrapper.eq("ssdw", part);
|
|
|
|
|
queryWrapper.eq("isbf", 0);
|
|
|
|
|
queryWrapper.eq("del_flag", 0);
|
|
|
|
|
List<AssetOfficialAccount> list = assetOfficialAccountService.lambdaQuery().eq(AssetOfficialAccount::getSsdw, part).eq(AssetOfficialAccount::getIsbf,0).eq(AssetOfficialAccount::getDelFlag,0).list();
|
|
|
|
|
List<AssetOfficialAccount> list = assetOfficialAccountService.lambdaQuery().eq(AssetOfficialAccount::getSsdw, part).eq(AssetOfficialAccount::getIsbf, 0).eq(AssetOfficialAccount::getDelFlag, 0).list();
|
|
|
|
|
List<AssetOfficialAccountCpPo> officialAccountProgramsNewList = list.stream()
|
|
|
|
|
.map(cpPo -> {
|
|
|
|
|
AssetOfficialAccountCpPo assetOfficialAccountCpPo = new AssetOfficialAccountCpPo();
|
|
|
|
@ -295,7 +295,8 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
queryWrapper.eq("ssdw", part);
|
|
|
|
|
queryWrapper.eq("isbf", 0);
|
|
|
|
|
queryWrapper.eq("del_flag", 0);
|
|
|
|
|
List<AssetEmail> list = assetEmailService.lambdaQuery().eq(AssetEmail::getSsdw, part).eq(AssetEmail::getIsbf,0).eq(AssetEmail::getDelFlag,0).list();;
|
|
|
|
|
List<AssetEmail> list = assetEmailService.lambdaQuery().eq(AssetEmail::getSsdw, part).eq(AssetEmail::getIsbf, 0).eq(AssetEmail::getDelFlag, 0).list();
|
|
|
|
|
;
|
|
|
|
|
List<AssetEmailCpPo> emailCpNewList = list.stream()
|
|
|
|
|
.map(cpPo -> {
|
|
|
|
|
AssetEmailCpPo emailCpPo = new AssetEmailCpPo();
|
|
|
|
@ -317,7 +318,7 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
queryWrapper.eq("ssdw", part);
|
|
|
|
|
queryWrapper.eq("isbf", 0);
|
|
|
|
|
queryWrapper.eq("del_flag", 0);
|
|
|
|
|
List<AssetApp> list = assetAppService.lambdaQuery().eq(AssetApp::getSsdw, part).eq(AssetApp::getIsbf,0).eq(AssetApp::getDelFlag,0).list();
|
|
|
|
|
List<AssetApp> list = assetAppService.lambdaQuery().eq(AssetApp::getSsdw, part).eq(AssetApp::getIsbf, 0).eq(AssetApp::getDelFlag, 0).list();
|
|
|
|
|
List<AssetAppCpPo> appCpNewList = list.stream()
|
|
|
|
|
.map(cpPo -> {
|
|
|
|
|
AssetAppCpPo appCpPo = new AssetAppCpPo();
|
|
|
|
@ -502,26 +503,67 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
//同步主表数据 web
|
|
|
|
|
taskSaveOrDelete(req);
|
|
|
|
|
syb(req);
|
|
|
|
|
} else {
|
|
|
|
|
// 状态是进行中 status=1
|
|
|
|
|
} else if( req.getBtgyy()!=null){
|
|
|
|
|
//不通过 状态为1
|
|
|
|
|
finalTask.setTaskStatus(1);
|
|
|
|
|
String btgyy = req.getBtgyy();
|
|
|
|
|
assetTaskService.update(finalTask);
|
|
|
|
|
//修改不通过原因
|
|
|
|
|
if (req.getType()==0){
|
|
|
|
|
assetCurrentCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy);
|
|
|
|
|
}else if(req.getType()==1){
|
|
|
|
|
assetMiniProgramsCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy);
|
|
|
|
|
}else if(req.getType()==2){
|
|
|
|
|
assetOfficialAccountCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy);
|
|
|
|
|
}else if(req.getType()==3){
|
|
|
|
|
assetEmailCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy);
|
|
|
|
|
}else if(req.getType()==4){
|
|
|
|
|
assetAppCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy);
|
|
|
|
|
}
|
|
|
|
|
if (req.getType() == 0) {
|
|
|
|
|
//根据任务id,资产id获取退回次数
|
|
|
|
|
AssetCurrentCpPo assetCurrentCpPo = assetCurrentCpService.findByassetIdandTaskId(req.getAssetId(), req.getTaskId());
|
|
|
|
|
|
|
|
|
|
//获取退回次数
|
|
|
|
|
Integer thcs = 0;
|
|
|
|
|
if (assetCurrentCpPo.getCount() != null) {
|
|
|
|
|
thcs = assetCurrentCpPo.getCount();
|
|
|
|
|
}
|
|
|
|
|
int newThcs = thcs + 1;
|
|
|
|
|
assetCurrentCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy, newThcs);
|
|
|
|
|
} else if (req.getType() == 1) {
|
|
|
|
|
//根据任务id,资产id获取退回次数
|
|
|
|
|
AssetMiniProgramsCpPo assetMiniProgramsCpPo = assetMiniProgramsCpService.findByassetIdandTaskId(req.getAssetId(), req.getTaskId());
|
|
|
|
|
//获取退回次数
|
|
|
|
|
Integer thcs = 0;
|
|
|
|
|
if (assetMiniProgramsCpPo.getCount() != null) {
|
|
|
|
|
thcs = assetMiniProgramsCpPo.getCount();
|
|
|
|
|
}
|
|
|
|
|
int newThcs = thcs + 1;
|
|
|
|
|
assetMiniProgramsCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy, newThcs);
|
|
|
|
|
} else if (req.getType() == 2) {
|
|
|
|
|
//根据任务id,资产id获取退回次数
|
|
|
|
|
AssetOfficialAccountCpPo assetOfficialAccountCpPo = assetOfficialAccountCpService.findByassetIdandTaskId(req.getAssetId(), req.getTaskId());
|
|
|
|
|
//获取退回次数
|
|
|
|
|
Integer thcs = 0;
|
|
|
|
|
if (assetOfficialAccountCpPo.getCount() != null) {
|
|
|
|
|
thcs = assetOfficialAccountCpPo.getCount();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int newThcs = thcs + 1;
|
|
|
|
|
assetOfficialAccountCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy, newThcs);
|
|
|
|
|
} else if (req.getType() == 3) {
|
|
|
|
|
//根据任务id,资产id获取退回次数
|
|
|
|
|
AssetEmailCpPo assetEmailCpPo = assetEmailCpService.findByassetIdandTaskId(req.getAssetId(), req.getTaskId());
|
|
|
|
|
//获取退回次数
|
|
|
|
|
Integer thcs = 0;
|
|
|
|
|
if (assetEmailCpPo.getCount() != null) {
|
|
|
|
|
thcs = assetEmailCpPo.getCount();
|
|
|
|
|
}
|
|
|
|
|
int newThcs = thcs + 1;
|
|
|
|
|
assetEmailCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy, newThcs);
|
|
|
|
|
} else if (req.getType() == 4) {
|
|
|
|
|
//根据任务id,资产id获取退回次数
|
|
|
|
|
AssetAppCpPo assetAppCpPo = assetAppCpService.findByassetIdandTaskId(req.getAssetId(), req.getTaskId());
|
|
|
|
|
//获取退回次数
|
|
|
|
|
Integer thcs = 0;
|
|
|
|
|
if (assetAppCpPo.getCount() != null) {
|
|
|
|
|
thcs = assetAppCpPo.getCount();
|
|
|
|
|
}
|
|
|
|
|
int newThcs = thcs + 1;
|
|
|
|
|
assetAppCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy, newThcs);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -625,19 +667,21 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//当前时间喝任务截至时间比较
|
|
|
|
|
private int extracted(AssetTask assetTask) {
|
|
|
|
|
int status = 0;
|
|
|
|
|
// 获取当前时间
|
|
|
|
|
LocalDate now = LocalDate.now();
|
|
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
|
String formattedDateTime = formatter.format(now);
|
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
|
|
|
|
|
// 创建格式化器,时间部分使用冒号
|
|
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
// 格式化当前的日期和时间
|
|
|
|
|
String formattedDateTime = now.format(formatter);
|
|
|
|
|
//获取任务截至时间
|
|
|
|
|
String deadLine = assetTask.getTaskDeadline();
|
|
|
|
|
// 转换为 LocalDateTime
|
|
|
|
|
LocalDate deadlineDate = LocalDate.parse(deadLine, formatter);
|
|
|
|
|
LocalDate currentDate = LocalDate.parse(formattedDateTime, formatter);
|
|
|
|
|
// 转换为 LocalDateTime,使用相同的格式
|
|
|
|
|
LocalDateTime deadlineDate = LocalDateTime.parse(deadLine, formatter);
|
|
|
|
|
LocalDateTime currentDate = LocalDateTime.parse(formattedDateTime, formatter);
|
|
|
|
|
if (deadlineDate.isBefore(currentDate)) {
|
|
|
|
|
//超期
|
|
|
|
|
status = 1;
|
|
|
|
@ -751,6 +795,11 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
return assetTaskDao.dwHc(assetdwHcResponsePage, req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<AssetdwHcResponse> export(AssetdwHcRequest req) {
|
|
|
|
|
return assetTaskDao.export(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<AssetTask> taskList(String dwmc) {
|
|
|
|
|
return assetTaskDao.taskList(dwmc);
|
|
|
|
@ -761,10 +810,20 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
assetTaskDao.updateYgtByTaskId(taskId, count);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void close(Integer taskId) {
|
|
|
|
|
assetTaskDao.close(taskId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<AssetdwHcBlResponse> dwHcBl(AssetdwHcRequest req) {
|
|
|
|
|
return assetTaskDao.dwHcBl(req);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//创建任务流程
|
|
|
|
|
private void getTaskStatus(AssetCurrentShRequest req) {
|
|
|
|
|
AssetLc assetLc = new AssetLc();
|
|
|
|
|
int taskStatus = 0;
|
|
|
|
|
|
|
|
|
|
if (req.getStatus() == 3) {
|
|
|
|
|
assetLc.setTaskId(req.getTaskId());
|
|
|
|
|
assetLc.setXfTime(LocalDateTime.now());
|
|
|
|
@ -775,54 +834,9 @@ public class AssetTaskServiceImpl extends ServiceImpl<AssetTaskMapper, AssetTask
|
|
|
|
|
assetLc.setAssetName("管理员审核不通过" + req.getXtmc());
|
|
|
|
|
assetLc.setXfTime(LocalDateTime.now());
|
|
|
|
|
assetLcService.insert(assetLc);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// //单位端资产审核,更新任务表状态
|
|
|
|
|
// //查询当前任务下的所有资产状态和完成时间
|
|
|
|
|
// List<AssetTaskStatusResponse> list = assetTaskDao.findByTaskId(req.getTaskId());
|
|
|
|
|
// // 检查状态
|
|
|
|
|
// boolean hasPendingApproval = list.stream().anyMatch(item -> item.getStatus() == 0 || item.getStatus() == 1);
|
|
|
|
|
// boolean allApproved = list.stream().allMatch(item -> item.getStatus() == 3);
|
|
|
|
|
// boolean hasExpired = list.stream().anyMatch(item -> item.getDeadstatus() == 6);
|
|
|
|
|
// boolean hasRejected = list.stream().anyMatch(item -> item.getStatus() == 4);
|
|
|
|
|
// boolean hased = list.stream().anyMatch(item -> item.getStatus() == 5);
|
|
|
|
|
// LocalDateTime finishTime = null;
|
|
|
|
|
// String btgyy = null;
|
|
|
|
|
// if (hasPendingApproval) {
|
|
|
|
|
// // 资产状态存在待审批,任务状态为进行中
|
|
|
|
|
// taskStatus = 1;
|
|
|
|
|
// } else if (allApproved && !hasPendingApproval && !hasRejected && !hasExpired) {
|
|
|
|
|
// // 资产状态全部为已通过中并且全部资产完成时间在任务期限之前
|
|
|
|
|
// taskStatus = 2;
|
|
|
|
|
// finishTime = LocalDateTime.now();
|
|
|
|
|
// taskSaveOrDelete(req);
|
|
|
|
|
// } else if (allApproved && !hasPendingApproval && !hasRejected && hasExpired) {
|
|
|
|
|
// // 资产状态全部为已通过,资产完成时间有超期的为超期完成
|
|
|
|
|
// taskStatus = 3;
|
|
|
|
|
// finishTime = LocalDateTime.now();
|
|
|
|
|
// taskSaveOrDelete(req);
|
|
|
|
|
// } else if (hasRejected) {
|
|
|
|
|
// // 审核不通过
|
|
|
|
|
// taskStatus = 1;
|
|
|
|
|
// btgyy = req.getBtgyy();
|
|
|
|
|
// //修改不通过原因
|
|
|
|
|
// assetCurrentCpService.updateByAssetId(req.getAssetId(), req.getTaskId(), btgyy);
|
|
|
|
|
// } else if (hased && !hasRejected && !hasExpired) {
|
|
|
|
|
// //存在已报废并且其他都已完成 且未超期
|
|
|
|
|
// taskStatus = 2;
|
|
|
|
|
// finishTime = LocalDateTime.now();
|
|
|
|
|
// taskSaveOrDelete(req);
|
|
|
|
|
// } else if (hased && !hasRejected && hasExpired) {
|
|
|
|
|
// //存在已报废并且其他都已完成 且未超期
|
|
|
|
|
// taskStatus = 3;
|
|
|
|
|
// finishTime = LocalDateTime.now();
|
|
|
|
|
// taskSaveOrDelete(req);
|
|
|
|
|
// } else if (hased && !hasPendingApproval && !allApproved && !hasExpired && !hasRejected) {
|
|
|
|
|
// taskStatus = 3;
|
|
|
|
|
// }
|
|
|
|
|
// //修改主表任务状态
|
|
|
|
|
// assetTaskDao.updateByTaskId(taskStatus, req.getTaskId(), finishTime);
|
|
|
|
|
}
|