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

[核查模块] 增加了审核通过的功能

上级 0e87123b
......@@ -1203,8 +1203,8 @@ public class DeviceCheckController {
return ResponseEntity.ok(new ResultObj<>("专管B操作成功"));
}
@ApiOperation(value = "新的回退接口,目前用于测试")
@PutMapping("/test/rollback/{id}")
@ApiOperation(value = "自查的回退接口")
@PutMapping("/audit/rollback/{id}")
public ResponseEntity rollBack(@PathVariable Integer id) {
//1. bill单的自查将百位数变为3
DeviceCheckDetail detail = detailRepo.findById(id).get();
......@@ -1213,15 +1213,7 @@ public class DeviceCheckController {
.map(s -> s.split("-")[0] + "-" + 119)
.collect(joining(","));
String updateDetail = Arrays.stream(detailString.split(","))
.map(s -> {
Integer number = Integer.valueOf(s.split("-")[1]);
int digit = number % 10;
int tens = number / 10 % 10;
number = 300 + tens * 10 + digit;
return s.split("-")[0] + "-" + number;
})
.collect(joining(","));
String updateDetail = changeHunds(detailString,3);
detailRepo.updateCheckDetail(id, updateDetail, "", 0, 0, 0);
......@@ -1282,85 +1274,56 @@ public class DeviceCheckController {
}
/**
* 用于核查的回退接口
*
* @param id 办结的done接口id
* @return
*/
@ApiOperation(value = "核查回退")
@PutMapping("/check/rollback/{id}")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity checkRollback(@PathVariable Integer id) {
log.info("[核查模块] 将id = {} 的检查任务进行回退", id);
Specification<Task> donePred = Specifications.<Task>and()
.eq("billStatus", CONFIRM_STAT_0.id)
.eq("billId", id)
.eq("businessType", CONFIRM_CHECK_STAT.id)
.build();
TaskBto doneTask = taskRepo.findOne(donePred).get().parse2Bto();
@PutMapping("/audit/verify/{id}")
@ApiOperation(value = "自查的通过接口")
public ResponseEntity verify(@PathVariable Integer id){
//将自查的情况的百位数全部替换成2
DeviceCheckDetail detail = detailRepo.findById(id).get();
String updatedString = changeHunds(detail.getCheckDetail(), 2);
detail.setCheckDetail(updatedString);
log.info("[核查模块] 审核通过 - 更新后的detailString形如 {}",updatedString.split(",")[0]);
detailRepo.save(detail);
Specification<Task> checkPred = Specifications.<Task>and()
.eq("customInfo", "exam")
.eq("billId", id)
.eq("businessType", CONFIRM_CHECK_STAT.id)
.build();
Task checkTask = taskRepo.findOne(checkPred).get();
//将对应stat中地区的comProgress 改为 2 comsitution 改为12
String areaName = auService.findOne(AuExample.UnitName, detail.getCheckUnit()).getName();
TaskBto currentTask = taskService.get(id, CONFIRM_CHECK_DETAIL.id);
TaskBto fatherTask = taskService.get(currentTask.getParentTaskId());
DeviceCheckStat dcs = statRepo.findById(fatherTask.getBillId()).get();
CheckStatVo csv = transUtil.checkStatDo2Vo(dcs);
for (CheckDeviceStatVo vo : csv.getDeviceStatVoList()) {
for (CheckAreaStatVo av : vo.getAreaStatList()) {
if (av.getAreaName().equals(areaName)){
log.info("[核查模块] 审核通过 - 地区 = {} 的统计数据在统计信息中被成功修改了",areaName);
av.auditPassed();
}
}
}
//1.将市检查的任务节点回退到等待办结的状态
taskService.moveToSpecial(checkTask.parse2Bto(), CHECK_EXAM_STAT_1);
return ResponseEntity.ok(new ResultObj<>("审核通过!"));
//2.删除掉省的办结任务
if (Objects.isNull(doneTask)) {
log.info("[核查模块] 没有找到对应的办结任务");
} else {
log.info("[核查模块] 删除id = {}的办结任务", doneTask.getId());
taskRepo.deleteById(doneTask.getId());
}
return ResponseEntity.ok(new ResultObj<>("核查回退操作成功!"));
}
/**
* 用于检查页面的回退接口
*
* @param id 自查的detail id
* 将detailString里的百位数改为指定数字
* @param detailString 要更改的自查详情字符串
* @param value 想要改成的数字
* @return
*/
@ApiOperation(value = " ")
@PutMapping("/exam/rollback/{id}")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity examRollback(@PathVariable Integer id) {
log.info("[核查模块] 进行检查回退操作,要回退的检查detail id为 {}", id);
//1. 回退device-detail数据 包括 detail String,checkResult,userAId,userBid,checkedCount
// 将原来的checkDetail 的检查状态统一更改为 8 - 已退回
String detail = detailRepo.findById(id).get().getCheckDetail();
String updateDetail = Arrays.stream(detail.split(","))
.map(s -> s.split("-")[0] + "-" + "8")
private String changeHunds(String detailString,Integer value) {
String updateDetail = Arrays.stream(detailString.split(","))
.map(s -> {
Integer number = Integer.valueOf(s.split("-")[1]);
int digit = number % 10;
int tens = number / 10 % 10;
number = value * 100 + tens * 10 + digit;
return s.split("-")[0] + "-" + number;
})
.collect(joining(","));
detailRepo.updateCheckDetail(id, updateDetail, "", 0, 0, 0);
//2. 回退任务Task
TaskBto currentTask = taskService.get(id, CONFIRM_CHECK_DETAIL.id);
StatusEnum firstStatus = GlobalMap.getStatusEnumMap().get(Integer.valueOf(currentTask.getRemark()));
taskService.moveToSpecial(currentTask, firstStatus, currentTask.getFirstUserId());
//3.如果父级任务状态已经到确认阶段,则同样回退一个阶段
TaskBto fatherTask = taskService.get(currentTask.getParentTaskId());
// log.info("[核查模块] 父级统计节点的task id = {} , bill id = {}", fatherTask.getId(), fatherTask.getBillId());
// if (fatherTask.getBillStatus().equals(CHECK_EXAM_STAT_1.id)) {
// log.info("[核查模块] 检测到父级节点已经进入确认阶段,回滚父级节点");
// taskService.moveToSpecial(fatherTask, CHECK_EXAM_STAT_0, fatherTask.getFirstUserId());
// }
//3. 回退合并上去的数据
String unitName = detailRepo.findById(id).get().getCheckUnit();
AreaUnit areaUnit = auService.findOne(AuExample.UnitName, unitName);
String cityName = areaUnit.getName();
resetStatByCity(fatherTask.getBillId(), cityName);
return ResponseEntity.ok(new ResultObj<>("检查回退操作成功!"));
return updateDetail;
}
/**
* 将统计数据中指定城市的统计数据重置
*
......
......@@ -85,6 +85,11 @@ public class CheckAreaStatVo implements Cloneable {
this.areaDetailId = 0;
}
public void auditPassed(){
this.comProgress =2;
this.comSituation = 12;
}
public void start() {
if (this.comProgress != 2) {
this.comProgress = 1;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论