提交 cc48e970 authored 作者: 黄夏豪's avatar 黄夏豪

项目重构代码补充

上级 2a1c02cf
......@@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>device-destory</artifactId>
<artifactId>device-destroy</artifactId>
<dependencies>
<dependency>
<groupId>com.tykj.dev</groupId>
......
......@@ -3,6 +3,7 @@ package controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.library.service.DeviceLibraryService;
import com.tykj.dev.device.library.service.DeviceLogService;
import com.tykj.dev.device.library.subject.Dto.DeviceLogDto;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.library.subject.vo.DeviceLibrarySelectVo;
import com.tykj.dev.device.task.service.TaskLogService;
......@@ -93,15 +94,18 @@ public class DeviceDestroyController {
DeviceDestroyBill deviceDestroyBillEntitySaved = deviceDestroyBillService.addEntity(destroyBill);
//生成日志所需的文件列表
ArrayList<FileVo> billList = ListUtil.createList(
new FileVo("标签替换单据", deviceDestroyBillEntitySaved.getFileName(), deviceDestroyBillEntitySaved.getFileUrl())
new FileVo("销毁单据", deviceDestroyBillEntitySaved.getFileName(), deviceDestroyBillEntitySaved.getFileUrl())
);
//生成装备变更日志
formVo.getDevices().forEach(d->{
deviceLogService.addLog(new DeviceLogDto(d,"发起销毁",billList));
deviceLogService.addLog(new DeviceLogDto(d,"销毁待审核",billList));
});
//生成销毁审核任务
Task task = taskService.start(initTaskBto(deviceDestroyBillEntitySaved));
//生成任务日志
taskLogService.addLog(new TaskLogBto(task.getId(),"发起标签销毁",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"标签销毁待审核",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"发起销毁",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"销毁待审核",billList));
// myWebSocket.sendMessage1();
return ResultUtil.success("销毁-出库申请成功");
}
......@@ -139,6 +143,7 @@ public class DeviceDestroyController {
}
//如果装备已经被销毁则生成拼接文号
docNumber = makeDocNumber(destroyBill);
//拼接ResultVo
destroyDetailResultVo = new DeviceDestroyDetailResultVo(
destroyBill.getStartUserAId(),
destroyBill.getStartUserBId(),
......@@ -172,67 +177,49 @@ public class DeviceDestroyController {
if (deviceDestoryConfirmVo.getResult() == 0) {
//更改账单状态
deviceDestroyBill.setDestroyStatus(DestroyStatus.CONFIRM_FAILED.getStatus());
//生成对应的日志
// List<Integer> list = StringSplitUtil.split(deviceDestroyBillEntity.getDestroyDeviceDetail());
// if (list.size()>0) {
// for (Integer id : list) {
// LogVo bussinessLogVo = new LogVo();
// bussinessLogVo.setDeviceId(id);
// bussinessLogVo.setFileDetail("Ǵ");
// bussinessLogVo.setRemark("销毁审核失败");
// bussinessLogVo.setTaskId(task.getId());
// deviceLogService.addLog(bussinessLogVo);
// }
// }
} else {
//更改账单状态
deviceDestroyBill.setDestroyStatus(DestroyStatus.CONFIRM_SUCCESS.getStatus());
//设置销毁时间
deviceDestroyBill.setDestroyTime(new Date());
//更改对应装备的状态为销毁
List<Integer> list = StringSplitUtil.split(deviceDestroyBill.getDestroyDeviceDetail());
for (Integer id : list) {
if (id > 0) {
DeviceLibrary deviceLibraryEntity = deviceLibraryService.getOne(id);
deviceLibraryEntity.setLifeStatus(DEVICE_DESTROY_LIFE_STATUS);
deviceLibraryService.update(deviceLibraryEntity);
// LogVo bussinessLogVo = new LogVo();
// bussinessLogVo.setDeviceId(id);
// bussinessLogVo.setFileDetail("Ǵ");
// bussinessLogVo.setRemark("审核成功并出库");
// bussinessLogVo.setTaskId(task.getId());
// deviceLogService.addLog(bussinessLogVo);
}
}
//为账单新增文号
deviceDestroyBill.setDocNumber(this.deviceDestroyBillService.getNewDocNumber());
//变更任务状态
task.setBillStatus(StatusEnum.DESTROY_BUSINESS_CONFIRM_FINISH_SUCCESS.id);
}
//生成日志所需的文件列表
ArrayList<FileVo> billList = ListUtil.createList(
new FileVo("标签替换单据", deviceDestroyBill.getFileName(), deviceDestroyBill.getFileUrl())
);
//更改对应装备的状态为销毁
handleDeviceDetail(deviceDestroyBill,billList,deviceDestoryConfirmVo.getResult());
//更新销毁账单
this.deviceDestroyBillService.updateEntity(deviceDestroyBill);
//将任务推进至完结
taskService.moveToEnd(task);
this.deviceDestroyBillService.updateEntity(deviceDestroyBill);
taskService.update(task);
//生成任务日志
taskLogService.addLog(new TaskLogBto(task.getId(),deviceDestoryConfirmVo.getResult() == 0?"销毁成功":"销毁审核失败",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"业务完结",billList));
// myWebSocket.sendMessage1();
return selectDestoryDetail(deviceDestroyBill.getId());
}
/**
* 生成变更日志
*
* @return 装备出库详情
*/
private void createDeviceLog(List<Integer> deviceIds) {
deviceIds.forEach(device -> {
//生成日志
// LogVo bussinessLogVo = new LogVo();
// bussinessLogVo.setDeviceId(device);
// bussinessLogVo.setFileDetail("Ǵ"+deviceDestoryBillEntity.getFileName()+"Ǒ"+deviceDestoryBillEntity.getFileUrl()+"Ǒ"+"出库确认单"+"Ǵ");
// bussinessLogVo.setRemark("发起销毁");
// bussinessLogVo.setTaskId(taskEntitySaved.getId());
// deviceLogService.addLog(bussinessLogVo);
});
private void handleDeviceDetail(DeviceDestroyBill deviceDestroyBill,ArrayList<FileVo> billList,Integer flag) {
List<Integer> list = StringSplitUtil.split(deviceDestroyBill.getDestroyDeviceDetail());
for (Integer id : list) {
if (id > 0) {
if (flag==1){
//将装备装备变更为销毁
DeviceLibrary deviceLibraryEntity = deviceLibraryService.getOne(id);
deviceLibraryEntity.setLifeStatus(DEVICE_DESTROY_LIFE_STATUS);
deviceLibraryService.update(deviceLibraryEntity);
}
//生成装备日志
deviceLogService.addLog(new DeviceLogDto(id,flag==1?"装备销毁成功":"装备销毁失败",billList));
}
}
}
private String makeDocNumber(DeviceDestroyBill deviceDestroyBill) {
......
......@@ -2,15 +2,21 @@ package controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.library.service.DeviceLibraryService;
import com.tykj.dev.device.library.service.DeviceLogService;
import com.tykj.dev.device.library.subject.Dto.DeviceLogDto;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.library.subject.vo.DeviceLibrarySelectVo;
import com.tykj.dev.device.packing.service.PackingLibraryService;
import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import com.tykj.dev.device.packing.subject.vo.PackingLibrarySelectVo;
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.BusinessEnum;
import com.tykj.dev.device.task.subject.common.StatusEnum;
import com.tykj.dev.device.task.subject.domin.TaskLog;
import com.tykj.dev.device.task.subject.vo.FileVo;
import com.tykj.dev.device.user.subject.entity.User;
import com.tykj.dev.device.user.util.AuthenticationUtils;
import com.tykj.dev.misc.utils.ListUtil;
......@@ -21,6 +27,7 @@ import entity.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.support.TaskUtils;
import org.springframework.validation.annotation.Validated;
......@@ -52,23 +59,25 @@ public class DeviceRetiredController {
private final DeviceLibraryService deviceLibraryService;
private final DeviceLogService deviceLogService;
private final TaskLogService taskLogService;
final
TaskUtils taskUtils;
public DeviceRetiredController(DeviceRetiredBillService deviceRetiredBillService, TaskService taskService, PackingLibraryService packingLibraryService, DeviceLibraryService deviceLibraryService, TaskUtils taskUtils) {
public DeviceRetiredController(DeviceRetiredBillService deviceRetiredBillService, TaskService taskService, PackingLibraryService packingLibraryService, DeviceLibraryService deviceLibraryService, TaskUtils taskUtils, DeviceLogService deviceLogService, TaskLogService taskLogService) {
this.deviceRetiredBillService = deviceRetiredBillService;
this.taskService = taskService;
this.packingLibraryService = packingLibraryService;
this.deviceLibraryService = deviceLibraryService;
this.taskUtils = taskUtils;
this.deviceLogService = deviceLogService;
this.taskLogService = taskLogService;
}
// @Autowired
// MyWebSocket myWebSocket;
//
// @Autowired
// private DeviceLogService deviceLogService;
@ApiOperation(value = "查询可退装装备", notes = "可以通过这个接口查询销毁单")
@PostMapping(value = "/devices")
......@@ -93,19 +102,18 @@ public class DeviceRetiredController {
public ResponseEntity<String> selectRepairBill(@Validated @RequestBody DeviceRetiredFormVo formVo) {
//生成销毁账单
User currentUserInfo = Objects.requireNonNull(AuthenticationUtils.getAuthentication()).getCurrentUserInfo();
DeviceRetiredBill retiredBill = new DeviceRetiredBill(
currentUserInfo.getUserId(),
formVo.getConfirmUserId(),
RetiredStatus.NEED_CONFIRM.getStatus(),
packingListToString(formVo.getPackings())
);
//生成装备销毁出库详情
DeviceRetiredBill retiredBill = DeviceRetiredBill.formVoToBill(formVo,currentUserInfo);
retiredBill= deviceRetiredBillService.addEntity(retiredBill);
//生成日志所需的文件列表
ArrayList<FileVo> billList = ListUtil.createList(
new FileVo("标签替换单据", null, null)
);
//生成Task
TaskBto task = initTaskBto(retiredBill);
taskService.start(task);
//todo 日志
//生成任务日志
taskLogService.addLog(new TaskLogBto(task.getId(),"发起退装",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"退装待审核",billList));
// myWebSocket.sendMessage1();
return ResultUtil.success("退装申请成功");
}
......@@ -160,6 +168,7 @@ public class DeviceRetiredController {
taskService.moveToEnd(task);
//更改对应任务的状态
taskService.update(task);
//生成任务日志
// myWebSocket.sendMessage1();
......@@ -209,21 +218,7 @@ public class DeviceRetiredController {
});
}
/**
* 生成装备销毁出库详情,并为对应的装备生成变更日志
*
* @return 装备出库详情
*/
private String packingListToString(List<Integer> packings) {
StringBuffer deviceDetail = new StringBuffer();
deviceDetail.append("x");
packings.forEach(packing -> {
deviceDetail.append(packing.toString());
deviceDetail.append(1);
deviceDetail.append("x");
});
return deviceDetail.toString();
}
private TaskBto initTaskBto(DeviceRetiredBill retiredBill){
//生成Task
......
package entity.domain;
import com.tykj.dev.device.user.subject.entity.User;
import entity.enums.RetiredStatus;
import entity.vo.DeviceRetiredFormVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -13,6 +16,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
/**
* entity class for device_retired_bill
......@@ -81,4 +85,29 @@ public class DeviceRetiredBill {
this.retiredStatus = retiredStatus;
this.retiredDetail = retiredDetail;
}
public static DeviceRetiredBill formVoToBill(DeviceRetiredFormVo formVo, User user){
return new DeviceRetiredBill(
user.getUserId(),
formVo.getConfirmUserId(),
RetiredStatus.NEED_CONFIRM.getStatus(),
packingListToString(formVo.getPackings())
);
}
/**
* 生成装备销毁出库详情,并为对应的装备生成变更日志
*
* @return 装备出库详情
*/
private static String packingListToString(List<Integer> packings) {
StringBuffer deviceDetail = new StringBuffer();
deviceDetail.append("x");
packings.forEach(packing -> {
deviceDetail.append(packing.toString());
deviceDetail.append(1);
deviceDetail.append("x");
});
return deviceDetail.toString();
}
}
......@@ -110,8 +110,8 @@ public class RfidController {
public ResponseEntity<String> form(@Validated @RequestBody RfidFormVo formVo){
//获取当前登录用户
User currentUserInfo = Objects.requireNonNull(AuthenticationUtils.getAuthentication()).getCurrentUserInfo();
//生成销毁账单
RfidChangeBill rfidChangeBill = initRfidChangeBill(formVo, currentUserInfo);
//生成账单
RfidChangeBill rfidChangeBill = RfidChangeBill.formVoToBill(formVo, currentUserInfo);
RfidChangeBill rfidChangeBillSaved = rfidChangeBillService.addEntity(rfidChangeBill);
//生成日志所需的文件列表
ArrayList<FileVo> billList = ListUtil.createList(
......@@ -122,14 +122,14 @@ public class RfidController {
//生成详情信息
rfidChangeLogService.addEntity(initRfidChangeLog(currentUserInfo, rfidChangeBillSaved, d));
//生成装备变更日志
deviceLogService.addLog(new DeviceLogDto(rfidChangeBillSaved.getId(),"发起标签替换",billList));
deviceLogService.addLog(new DeviceLogDto(rfidChangeBillSaved.getId(),"标签替换待审核",billList));
deviceLogService.addLog(new DeviceLogDto(d.getDeviceId(),"发起标签替换",billList));
deviceLogService.addLog(new DeviceLogDto(d.getDeviceId(),"标签替换待审核",billList));
});
//生成Task
Task task = taskService.start(initTaskBto(currentUserInfo, rfidChangeBillSaved));
//生成任务日志
taskLogService.addLog(new TaskLogBto(task.getId(),"发起标签销毁",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"标签销毁待审核",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"发起标签替换",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"标签替换待审核",billList));
return ResultUtil.success("标签修改申请成功");
}
......@@ -165,20 +165,17 @@ public class RfidController {
//初始化需要的数据
TaskBto task = taskService.get(rfidChangeConfirmVo.getTaskId());
RfidChangeBill rfidChangeBill = rfidChangeBillService.getOne(task.getBillId());
//判断审核结果
if (rfidChangeConfirmVo.getResult()==0){
//更改账单状态 为 审核失败
rfidChangeBill.setStatus(RfidChangeStatus.CONFIRM_FAILED.getStatus());
}else {
//更改账单状态 为 审核成功
rfidChangeBill.setStatus(RfidChangeStatus.CONFIRM_SUCCESS.getStatus());
}
//生成日志所需的文件列表
ArrayList<FileVo> billList = ListUtil.createList(
new FileVo("标签替换单据", rfidChangeBill.getFileName(), rfidChangeBill.getFileUrl())
);
//更改账单状态 1为审核成功 否则为审核失败
rfidChangeBill.setStatus(rfidChangeConfirmVo.getResult()==1?RfidChangeStatus.CONFIRM_SUCCESS.getStatus():RfidChangeStatus.CONFIRM_FAILED.getStatus());
//处理详情和生成日志
handleBillDetail(task,billList,rfidChangeConfirmVo.getResult());
//生成任务变更日志
taskLogService.addLog(new TaskLogBto(task.getId(),rfidChangeConfirmVo.getResult()==1?"标签替换审核成功":"标签替换审核失败",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"业务完结",billList));
//更新账单
rfidChangeBillService.updateEntity(rfidChangeBill);
//更改对应任务的状态
......@@ -186,30 +183,6 @@ public class RfidController {
return selectRfidChangeDetail(rfidChangeBill.getId());
}
private void handleBillDetail(TaskBto task, ArrayList<FileVo> billList,Integer flag) {
//构建查询VO
RfidChangeLogSelectVo rfidChangeLogSelectVo = new RfidChangeLogSelectVo();
rfidChangeLogSelectVo.setBillId(task.getBillId());
//查询账单详情
List<RfidChangeLog> rfidChangeLogEntities = rfidChangeLogService.getList(rfidChangeLogSelectVo);
rfidChangeLogEntities.forEach(d->{
if (flag==1){
//更改对应装备的RFID号
DeviceLibrary device = deviceLibraryService.getOne(d.getDeviceId());
device.setRfidCardId(d.getNewCardId());
deviceLibraryService.update(device);
//将对应的账单详情记录变为审核成功
d.setValidTag(1);
rfidChangeLogService.updateEntity(d);
//生成装备日志
deviceLogService.addLog(new DeviceLogDto(task.getBillId(),"标签替换成功",billList));
}else {
deviceLogService.addLog(new DeviceLogDto(task.getBillId(),"标签替换审核事变",billList));
}
});
}
@ApiOperation(value = "标签管理概览",notes = "通过这个借口可以查看标签管理的概览")
@PostMapping(value = "/summary")
public ResponseEntity<Page<DeviceLibrary>> getTagSummary(@RequestBody DeviceLibrarySelectVo deviceLibrarySelectVo){
......@@ -325,18 +298,6 @@ public class RfidController {
return ResultUtil.success(tagDetailVo);
}
private RfidChangeBill initRfidChangeBill(RfidFormVo formVo, User currentUserInfo) {
RfidChangeBill rfidChangeBill = new RfidChangeBill(
currentUserInfo.getUserId(),
formVo.getConfirmId(),
currentUserInfo.getUnits().getUnitId(),
RfidChangeStatus.NEED_CONFIRM.getStatus(),
formVo.getFileName(),
formVo.getFileUrl()
);
return rfidChangeBill;
}
private RfidChangeLog initRfidChangeLog(User currentUserInfo, RfidChangeBill rfidChangeBillSaved, RfidChangeInfoVo d) {
RfidChangeLog rfidChangeLog = new RfidChangeLog(
d.getDeviceId(),
......@@ -366,4 +327,25 @@ public class RfidController {
);
return task;
}
private void handleBillDetail(TaskBto task, ArrayList<FileVo> billList,Integer flag) {
//构建查询VO
RfidChangeLogSelectVo rfidChangeLogSelectVo = new RfidChangeLogSelectVo();
rfidChangeLogSelectVo.setBillId(task.getBillId());
//查询账单详情
List<RfidChangeLog> rfidChangeLogEntities = rfidChangeLogService.getList(rfidChangeLogSelectVo);
rfidChangeLogEntities.forEach(d->{
if (flag==1){
//更改对应装备的RFID号
DeviceLibrary device = deviceLibraryService.getOne(d.getDeviceId());
device.setRfidCardId(d.getNewCardId());
deviceLibraryService.update(device);
//将对应的账单详情记录变为审核成功
d.setValidTag(1);
rfidChangeLogService.updateEntity(d);
}
//生成装备日志
deviceLogService.addLog(new DeviceLogDto(d.getDeviceId(),flag==1?"标签替换成功":"标签替换审核失败",billList));
});
}
}
package com.tykj.dev.rfid.entity.domin;
import com.tykj.dev.device.user.subject.entity.User;
import com.tykj.dev.rfid.entity.enums.RfidChangeStatus;
import com.tykj.dev.rfid.entity.vo.RfidFormVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
......@@ -107,4 +110,15 @@ public class RfidChangeBill {
this.fileName = fileName;
this.fileUrl = fileUrl;
}
public static RfidChangeBill formVoToBill(RfidFormVo formVo, User user){
return new RfidChangeBill(
user.getUserId(),
formVo.getConfirmId(),
user.getUnits().getUnitId(),
RfidChangeStatus.NEED_CONFIRM.getStatus(),
formVo.getFileName(),
formVo.getFileUrl()
);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论