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

[核查] 修复了bug

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