提交 dd3d651a authored 作者: Matrix's avatar Matrix

[核查] 修复了bug

上级 92492672
......@@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-confitmcheck</artifactId>
<artifactId>device-confirmcheck</artifactId>
<dependencies>
<dependency>
......
......@@ -12,8 +12,10 @@ import com.tykj.dev.device.confirmcheck.utils.ObjTransUtil;
import com.tykj.dev.device.library.repository.DeviceLibraryDao;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.task.repository.TaskDao;
import com.tykj.dev.device.task.service.TaskLogService;
import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.bto.TaskLogBto;
import com.tykj.dev.device.task.subject.common.GlobalMap;
import com.tykj.dev.device.task.subject.common.StatusEnum;
import com.tykj.dev.device.task.subject.domin.Task;
......@@ -40,6 +42,7 @@ import java.util.Objects;
import static com.tykj.dev.device.task.subject.common.BusinessEnum.CONFIRM_CHECK_DETAIL;
import static com.tykj.dev.device.task.subject.common.BusinessEnum.CONFIRM_CHECK_STAT;
import static com.tykj.dev.device.task.subject.common.StatusEnum.CHECK_DETAIL_0;
import static com.tykj.dev.device.task.subject.common.StatusEnum.CHECK_STAT_0;
import static com.tykj.dev.misc.utils.TimestampUtil.localDateToDate;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.toList;
......@@ -51,7 +54,7 @@ import static java.util.stream.Collectors.toList;
@RequestMapping(value = "/check/confirm")
@AutoDocument
@Api(tags = "核查模块")
@Transactional(rollbackFor = Exception.class)
@Transactional
public class DeviceCheckController {
@Autowired
......@@ -72,6 +75,8 @@ public class DeviceCheckController {
private TaskDao taskRepo;
@Autowired
private TaskService taskService;
@Autowired
private TaskLogService logService;
@GetMapping("/area/{fatherId}")
@ApiOperation(value = "查询指定区域下的所有区域信息")
......@@ -123,9 +128,11 @@ public class DeviceCheckController {
DeviceCheckStat provinceCheckStat = initStatData(startUnit.getName(), checkedUnits);
Integer billId = statRepo.save(provinceCheckStat).getId();
// 2-2 构建发起单位的 统计任务
TaskBto provStatTask = new Task(CONFIRM_CHECK_STAT.name, 0, ".0.", CONFIRM_CHECK_STAT.id, billId, startUnitId)
TaskBto provStatTask = new Task(CHECK_STAT_0.id, CONFIRM_CHECK_STAT.name, 0, ".0.", CONFIRM_CHECK_STAT.id, billId, startUnitId)
.parse2Bto();
taskService.start(provStatTask);
provStatTask.getInvolveUserIdList().add(AuthenticationUtils.getAuthentication().getCurrentUserInfo().getUserId());
provStatTask.getInvolveUserIdList().add(-1);
provStatTask = taskService.start(provStatTask).parse2Bto();
// 3 构建被查单位的 自查账单 与 自查任务
// 获取所有在库装备与不在库装备
......@@ -141,7 +148,7 @@ public class DeviceCheckController {
// 对每个需要核查的单位构建其detail账单与task
for (Units unit : checkedUnits) {
// 3-1 构建被查单位的 自查账单
DeviceCheckDetailEntity unitDetailDoc = DeviceCheckDetailEntity.EmptyWithChecker(billVo.getUserAId(), billVo.getUserBId(), 0, 0, unit.getName(), devInLib.get(unit.getName()), devNotInLib.get(unit.getName()));
DeviceCheckDetailEntity unitDetailDoc = DeviceCheckDetailEntity.EmptyWithChecker(billVo.getUserAId(), billVo.getUserBId(), 0, 0, unit.getName(), devInLib.getOrDefault(unit.getName(), new ArrayList<>()), devNotInLib.getOrDefault(unit.getName(), new ArrayList<>()));
DeviceCheckDetailEntity detail = detailRepo.save(unitDetailDoc);
// 3-1 构建被查单位的 自查任务 (根据被查单位的级别来区分是县级状态是市级状态)
TaskBto checkedTask = new TaskBto(CHECK_DETAIL_0.id, "自核查任务", provStatTask.getId(), addNode(provStatTask.getNodeIdDetail(), provStatTask.getId()), CONFIRM_CHECK_DETAIL.id, detail.getId(), unit.getUnitId(), 0);
......@@ -174,6 +181,7 @@ public class DeviceCheckController {
TaskBto currentTask = taskService.get(id, CONFIRM_CHECK_DETAIL.id);
currentTask.getInvolveUserIdList().set(0, AuthenticationUtils.getAuthentication().getCurrentUserInfo().getUserId());
taskService.moveToNext(currentTask, assignUserId);
logService.addLog(new TaskLogBto(currentTask.getId(), "A岗核查成功"));
return ResponseEntity.ok(new ResultObj("专管员A操作成功"));
}
......@@ -207,16 +215,19 @@ public class DeviceCheckController {
// 如果是4流程的,则需要指定核查组成员A接任务
if (userAId > 0 && userBId > 0) {
detailRepo.updateCheckStatus(id, checkStatus);
taskService.moveToNext(currentTask, checkUserAId);
currentTask = taskService.moveToNext(currentTask, checkUserAId);
logService.addLog(new TaskLogBto(currentTask.getId(), "B岗审核成功,等待核查组确认"));
} else {
// 如果是2流程的,则直接结束该任务
detailRepo.updateCheckStatus(id, checkStatus);
taskService.moveToEnd(currentTask);
logService.addLog(new TaskLogBto(currentTask.getId(), "B岗审核成功"));
}
} else {
//不通过则回到第一阶段
StatusEnum firstStatus = getFirstStatus(currentTask.getBillStatus());
taskService.moveToSpecial(currentTask, firstStatus, currentTask.getFirstUserId());
logService.addLog(new TaskLogBto(currentTask.getId(), "B岗审核失败,跳回A岗人员操作"));
}
return ResponseEntity.ok(new ResultObj("专管B操作成功"));
......@@ -233,11 +244,13 @@ public class DeviceCheckController {
// 如果当前是第3步(利用余数来判断),则需要指定核查组B的人来接受任务
if (currentTask.getBillStatus() % 10 == 2) {
currentTask = taskService.moveToNext(currentTask, currentDetail.getCheckUserBId());
logService.addLog(new TaskLogBto(currentTask.getId(), "核查组A审核成功"));
}
// 如果当前是第4步,则直接结束任务,并且进行结果汇总
if (currentTask.getBillStatus() % 10 == 3) {
currentTask = taskService.moveToEnd(currentTask);
logService.addLog(new TaskLogBto(currentTask.getId(), "核查组B审核成功"));
// 任务结束后需要将当前城市的统计信息汇总上去
Units units = unitsRepo.findById(currentTask.getOwnUnit()).get();
int level = units.getLevel();
......@@ -257,14 +270,16 @@ public class DeviceCheckController {
// 如果汇总完毕则将父级的统计任务推进
if (over) {
TaskBto fatherTask = taskService.get(fatherTaskId);
taskService.moveToNext(fatherTask, fatherTask.getLastUserId());
TaskBto statTask = taskService.moveToNext(fatherTask, fatherTask.getLastUserId());
logService.addLog(new TaskLogBto(statTask.getId(), "地区数据已统计完毕,等待确认"));
}
}
} else {
// 如果没通过则返回第1步
StatusEnum firstStatus = getFirstStatus(currentTask.getBillStatus());
taskService.moveToSpecial(currentTask, firstStatus, currentTask.getFirstUserId());
currentTask = taskService.moveToSpecial(currentTask, firstStatus, currentTask.getFirstUserId());
logService.addLog(new TaskLogBto(currentTask.getId(), "核查组B审核未过,返回到初始状态"));
}
return ResponseEntity.ok(new ResultObj("操作成功"));
......@@ -276,7 +291,8 @@ public class DeviceCheckController {
public ResponseEntity statConfirm(@RequestParam int statId) {
//将当前的统计task完结
TaskBto currentTask = taskService.get(CONFIRM_CHECK_STAT.id, statId);
taskService.moveToEnd(currentTask);
currentTask = taskService.moveToEnd(currentTask);
logService.addLog(new TaskLogBto(currentTask.getId(), "地区数据已统计完毕,等待确认"));
//如果有上级统计任务 则累加当前地区数据
Integer parentTaskId = currentTask.getParentTaskId();
......
......@@ -98,6 +98,7 @@ public class TaskBto {
List<Integer> involveUserIdList = new ArrayList<>();
involveUserIdList.add(startUserId);
this.involveUserIdList = involveUserIdList;
this.currentPoint = 0;
}
/**
......
package com.tykj.dev.device.task.subject.bto;
import com.tykj.dev.device.task.subject.domin.TaskLog;
import com.tykj.dev.device.library.subject.vo.FileVo;
import com.tykj.dev.device.task.subject.domin.TaskLog;
import com.tykj.dev.device.task.subject.vo.TaskLogUserVo;
import com.tykj.dev.device.user.subject.service.UserPublicService;
import com.tykj.dev.misc.base.BeanHelper;
......@@ -12,6 +12,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import org.modelmapper.ModelMapper;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -41,16 +42,28 @@ public class TaskLogBto {
@ApiModelProperty(value = "操作时间")
private Date createTime;
public TaskLogBto(Integer taskId, String remark, List<FileVo> fileVoList) {
this.taskId = taskId;
this.remark = remark;
this.fileVoList = fileVoList;
}
public TaskLogBto(Integer taskId, String remark) {
this.taskId = taskId;
this.remark = remark;
this.fileVoList = new ArrayList<>();
}
/**
* dto类转化为do类
*/
public TaskLog toDo(){
public TaskLog toDo() {
TaskLog taskLog = new TaskLog();
taskLog.setTaskId(this.taskId);
taskLog.setRemark(this.remark);
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Ǵ");
if (this.fileVoList!=null&&this.fileVoList.size()>0) {
if (this.fileVoList != null && this.fileVoList.size() > 0) {
for (FileVo f : this.fileVoList) {
stringBuffer.append(f.getFileName());
stringBuffer.append("Ǒ");
......@@ -64,22 +77,16 @@ public class TaskLogBto {
return taskLog;
}
public TaskLogBto(Integer taskId, String remark, List<FileVo> fileVoList) {
this.taskId = taskId;
this.remark = remark;
this.fileVoList = fileVoList;
}
/**
* bto类转化为vo类
*/
public TaskLogUserVo toVo(){
public TaskLogUserVo toVo() {
UserPublicService userPublicService = SpringUtils.getBean("userPublicServiceImpl");
//复制相同属性
ModelMapper modelMapper = BeanHelper.getUserMapper();
TaskLogUserVo taskLogUserVo = modelMapper.map(this,TaskLogUserVo.class);
TaskLogUserVo taskLogUserVo = modelMapper.map(this, TaskLogUserVo.class);
//set vo字段
if (userPublicService!=null){
if (userPublicService != null) {
taskLogUserVo.setUser(userPublicService.getOne(this.createUserId).getName());
taskLogUserVo.setUnit(userPublicService.findUnitsNameByUserId(this.createUserId));
}
......
......@@ -40,8 +40,8 @@ public enum StatusEnum {
* 核查任务
*/
//以下为stat状态
CHECK_STAT_0(100, "省级统计数据收集中"),
CHECK_STAT_1(101, "省级统计数据等待确认"),
CHECK_STAT_0(110, "统计数据收集中"),
CHECK_STAT_1(111, "统计数据等待确认"),
//以下为detail状态
CHECK_DETAIL_0(120, "等待专管员A处理"),
......
......@@ -9,7 +9,7 @@
<modules>
<module>device-allot</module>
<module>device-apply</module>
<module>device-confitmcheck</module>
<module>device-confirmcheck</module>
<module>device-destroy</module>
<module>device-library</module>
<module>device-finalcheck</module>
......@@ -59,12 +59,12 @@
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-confitmcheck</artifactId>
<artifactId>device-confirmcheck</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-destory</artifactId>
<artifactId>device-destroy</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
......@@ -114,7 +114,7 @@
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-stotage</artifactId>
<artifactId>device-storage</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
......@@ -169,6 +169,13 @@
<artifactId>jpa-spec</artifactId>
<version>3.1.1</version>
</dependency>
<!-- Spring Security Test -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
......@@ -88,7 +88,7 @@
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-confitmcheck</artifactId>
<artifactId>device-confirmcheck</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论