提交 22a9fb2a authored 作者: 邓砥奕's avatar 邓砥奕

更新维修

上级 69e59422
......@@ -3,9 +3,15 @@ package com.tykj.dev.device.allot.controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.allot.service.AllotBillService;
import com.tykj.dev.device.allot.subject.domin.AllotBill;
import com.tykj.dev.device.allot.subject.vo.AllotBillDetailVo;
import com.tykj.dev.device.allot.subject.vo.AllotBillSelectVo;
import com.tykj.dev.device.library.service.DeviceLibraryService;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
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.common.BusinessEnum;
import com.tykj.dev.device.task.subject.vo.TaskLogUserVo;
import com.tykj.dev.device.user.subject.service.UserPublicService;
import com.tykj.dev.misc.utils.ResultUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
......@@ -37,6 +43,12 @@ public class AllotBillSelectController {
@Autowired
private DeviceLibraryService deviceLibraryService;
@Autowired
private TaskLogService taskLogService;
@Autowired
private TaskService taskService;
@ApiOperation(value = "查询配发单",notes = "可以通过这个接口查询配发单")
@PostMapping(value = "/archives/allot/summary")
public ResponseEntity<Page<AllotBill>> selectAllotBill(@RequestBody AllotBillSelectVo allotBillSelectVo){
......@@ -46,26 +58,32 @@ public class AllotBillSelectController {
@ApiOperation(value = "查询配发单详情页",notes = "可以通过这个接口查询配发单")
@GetMapping(value = "/archives/allot/detail/{id}")
public ResponseEntity<List<Object>> selectAllotBillDetail(@PathVariable("id") int id){
List<Object> list = new ArrayList<>();
public ResponseEntity<AllotBillDetailVo> selectAllotBillDetail(@PathVariable("id") int id){
AllotBillDetailVo allotBillDetailVo = new AllotBillDetailVo();
//获取taskBto
TaskBto taskBto = taskService.get(id, BusinessEnum.ALLOT.id);
//set账单用户名称并添加
AllotBill allotBillEntity = allotBillService.getOne(id);
allotBillEntity.setSenderUserA(userService.getOne(allotBillEntity.getSendUseraId()).getName());
allotBillEntity.setSenderUserB(userService.getOne(allotBillEntity.getSendUserbId()).getName());
allotBillEntity.setReceiveUserA(userService.getOne(allotBillEntity.getReceiveUseraId()).getName());
allotBillEntity.setReceiveUserB(userService.getOne(allotBillEntity.getReceiveUserbId()).getName());
list.add(allotBillEntity);
if (allotBillEntity.getReceiveUseraId()!=null) {
allotBillEntity.setReceiveUserA(userService.getOne(allotBillEntity.getReceiveUseraId()).getName());
}
if (allotBillEntity.getReceiveUserbId()!=null) {
allotBillEntity.setReceiveUserB(userService.getOne(allotBillEntity.getReceiveUserbId()).getName());
}
allotBillDetailVo.setAllotBill(allotBillEntity);
List<DeviceLibrary> libraryEntities = new ArrayList<>();
//如果接收装备详情不为空,分隔装备id并添加
if (allotBillEntity.getReceiveCheckDetail()!=null){
for (Integer deviceId: StringSplitUtil.split(allotBillEntity.getReceiveCheckDetail())) {
libraryEntities.add(deviceLibraryService.getOne(deviceId));
}
}
else {
for (Integer deviceId: StringSplitUtil.split(allotBillEntity.getAllotCheckDetail())) {
libraryEntities.add(deviceLibraryService.getOne(deviceId));
}
}
list.add(libraryEntities);
return ResultUtil.success(list);
allotBillDetailVo.setDeviceLibraries(libraryEntities);
//获取业务日志
List<TaskLogUserVo> taskLogUserVos = taskLogService.getByTaskId(taskBto.getId());
allotBillDetailVo.setTaskLogUserVos(taskLogUserVos);
return ResultUtil.success(allotBillDetailVo);
}
}
package com.tykj.dev.device.allot.subject.vo;
import com.tykj.dev.device.allot.subject.domin.AllotBill;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.task.subject.vo.TaskLogUserVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("配发单详情返回类")
public class AllotBillDetailVo {
@ApiModelProperty(name = "配发单")
private AllotBill allotBill;
@ApiModelProperty(name = "配发装备信息")
private List<DeviceLibrary> deviceLibraries;
@ApiModelProperty(name = "业务日志")
private List<TaskLogUserVo> taskLogUserVos;
}
......@@ -14,9 +14,6 @@ public class AllotReceiveConfirmVo {
@ApiModelProperty(value = "任务Id")
private Integer taskId;
@ApiModelProperty(value = "工作Id")
private Integer jobId;
@ApiModelProperty(name = "需要修改的状态",example = "0",value = "0为审核通过,1为驳回")
private Integer status;
}
......@@ -17,9 +17,6 @@ public class AllotReceiveVo {
@ApiModelProperty(value = "任务Id")
private Integer taskId;
@ApiModelProperty(value = "工作Id")
private Integer jobId;
@ApiModelProperty(value = "配发单附件名字")
private String billFileName;
......
......@@ -51,6 +51,10 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-packing</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.tykj.dev.device.apply.subject.vo;
import com.tykj.dev.device.apply.subject.domin.DeviceApplyBill;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import com.tykj.dev.device.task.subject.vo.TaskLogUserVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("装备申请详情返回类")
public class ApplyDetailVo {
@ApiModelProperty(name = "申请单")
private DeviceApplyBill deviceApplyBill;
@ApiModelProperty(name = "申请的列装详情")
private List<PackingLibrary> packingLibraries;
@ApiModelProperty(name = "可配发装备详情")
private List<DeviceLibrary> deviceLibraries;
@ApiModelProperty(name = "业务日志")
private List<TaskLogUserVo> taskLogUserVos;
}
......@@ -23,10 +23,12 @@ import com.tykj.dev.misc.utils.ResultUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
import com.tykj.dev.device.destroy.entity.domain.DeviceDestroyBill;
import com.tykj.dev.device.destroy.entity.enums.DestroyStatus;
import com.tykj.dev.socket.MyWebSocket;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
......@@ -73,8 +75,8 @@ public class DeviceDestroyController {
this.taskLogService = taskLogService;
}
// @Autowired
// MyWebSocket myWebSocket;
@Autowired
MyWebSocket myWebSocket;
@ApiOperation(value = "查询销毁单", notes = "可以通过这个接口查询销毁单")
@PostMapping(value = "/summary")
......@@ -105,7 +107,7 @@ public class DeviceDestroyController {
//生成任务日志
taskLogService.addLog(new TaskLogBto(task.getId(),"发起销毁",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"销毁待审核",billList));
// myWebSocket.sendMessage1();
myWebSocket.sendMessage1();
return ResultUtil.success("销毁-出库申请成功");
}
......@@ -116,8 +118,6 @@ public class DeviceDestroyController {
BeanUtils.copyProperties(canDestoryDeviceSelectVo, deviceLibrarySelectVo);
deviceLibrarySelectVo.setLifeStatus(Arrays.asList(2, 5, 12));
List<DeviceLibrary> list = deviceLibraryService.getList(deviceLibrarySelectVo);
// myWebSocket.sendMessage1();
return ResultUtil.success(list);
}
......@@ -162,7 +162,6 @@ public class DeviceDestroyController {
userPublicService.findUnitsNameByUserId(destroyBill.getStartUserAId()),
devices
);
// myWebSocket.sendMessage1();
return ResultUtil.success(destroyDetailResultVo);
}
......@@ -173,10 +172,13 @@ public class DeviceDestroyController {
//初始化需要的数据
TaskBto task = taskService.get(deviceDestoryConfirmVo.getTaskId());
DeviceDestroyBill deviceDestroyBill = deviceDestroyBillService.getOne(task.getBillId());
//判断审核结果 0为审核不通过,1为审核通过
if (deviceDestoryConfirmVo.getResult() == 0) {
//判断审核结果 0为审核通过,1为审核不通过
if (deviceDestoryConfirmVo.getResult() == 1) {
//更改账单状态
deviceDestroyBill.setDestroyStatus(DestroyStatus.CONFIRM_FAILED.getStatus());
//将任务推进至封存
taskService.moveToArchive(task);
taskService.update(task);
} else {
//更改账单状态
deviceDestroyBill.setDestroyStatus(DestroyStatus.CONFIRM_SUCCESS.getStatus());
......@@ -186,6 +188,9 @@ public class DeviceDestroyController {
deviceDestroyBill.setDocNumber(this.deviceDestroyBillService.getNewDocNumber());
//变更任务状态
task.setBillStatus(StatusEnum.DESTROY_BUSINESS_CONFIRM_FINISH_SUCCESS.id);
//将任务推进至完结
taskService.moveToEnd(task);
taskService.update(task);
}
//生成日志所需的文件列表
ArrayList<FileVo> billList = ListUtil.createList(
......@@ -193,16 +198,11 @@ public class DeviceDestroyController {
);
//更改对应装备的状态为销毁
handleDeviceDetail(deviceDestroyBill,billList,deviceDestoryConfirmVo.getResult());
//更新销毁账单
this.deviceDestroyBillService.updateEntity(deviceDestroyBill);
//将任务推进至完结
taskService.moveToEnd(task);
taskService.update(task);
//生成任务日志
taskLogService.addLog(new TaskLogBto(task.getId(),deviceDestoryConfirmVo.getResult() == 0?"销毁成功":"销毁审核失败",billList));
taskLogService.addLog(new TaskLogBto(task.getId(),"业务完结",billList));
// myWebSocket.sendMessage1();
myWebSocket.sendMessage1();
return selectDestroyDetail(deviceDestroyBill.getId());
}
......@@ -210,14 +210,14 @@ public class DeviceDestroyController {
List<Integer> list = StringSplitUtil.split(deviceDestroyBill.getDestroyDeviceDetail());
for (Integer id : list) {
if (id > 0) {
if (flag==1){
if (flag==0){
//将装备装备变更为销毁
DeviceLibrary deviceLibraryEntity = deviceLibraryService.getOne(id);
deviceLibraryEntity.setLifeStatus(DEVICE_DESTROY_LIFE_STATUS);
deviceLibraryService.update(deviceLibraryEntity);
}
//生成装备日志
deviceLogService.addLog(new DeviceLogDto(id,flag==1?"装备销毁成功":"装备销毁失败",billList));
deviceLogService.addLog(new DeviceLogDto(id,flag==0?"装备销毁成功":"装备销毁失败",billList));
}
}
}
......@@ -226,7 +226,7 @@ public class DeviceDestroyController {
if (deviceDestroyBill.getDestroyTime() != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(deviceDestroyBill.getDestroyTime());
int year = calendar.get(Calendar.YEAR) + 1900;
int year = calendar.get(Calendar.YEAR);
return "NO:第" + year + "XH" + deviceDestroyBill.getDocNumber() + "号";
} else {
return "";
......
......@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
......@@ -38,9 +39,6 @@ public class DeviceLibraryController {
@Autowired
private DeviceLogDao deviceLogDao;
// @Autowired
// private PackingLibraryService packingLibraryService;
@ApiOperation(value = "模糊查询装备分页",notes = "可以通过这个接口查询装备")
@PostMapping("/selectDevicePage")
public ResponseEntity<Page<DeviceLibrary>> selectDevicePage(@RequestBody DeviceLibrarySelectVo deviceLibrarySelectVo){
......@@ -110,19 +108,17 @@ public class DeviceLibraryController {
DeviceDetailVo deviceDetailVo = new DeviceDetailVo();
List<DeviceLibrary> libraryEntities = new ArrayList<>();
//查询日志
List<DeviceLogUserVo> deviceLogEntities = orderByCreateTimeAsc(deviceLogDao.getAllByDeviceIdAndType(id,0).stream()
List<DeviceLogUserVo> deviceLogEntities = deviceLogDao.getAllByDeviceIdAndType(id,0).stream()
.map(DeviceLog::parse2Dto)
.map(DeviceLogDto::toVo)
.collect(Collectors.toList()));
.sorted(Comparator.comparing(DeviceLogUserVo::getCreateTime))
.collect(Collectors.toList());
libraryEntities.add(deviceLibraryEntity);
if (deviceLibraryEntity.getIsPart()==0){
List<DeviceLibrary> partList = deviceLibraryDao.getAllByPartParentIdAndIsPart(id,1);
libraryEntities.addAll(partList);
deviceDetailVo.setDeviceList(libraryEntities);
deviceDetailVo.setDeviceLogEntityList(deviceLogEntities);
// PackingLibrary p = packingLibraryService.getOne(deviceLibraryEntity.getPackingId());
// deviceDetailVo.setImageName(p.getImageName());
// deviceDetailVo.setImageUrl(p.getImageUrl());
return ResultUtil.success(deviceDetailVo);
}
else {
......@@ -142,6 +138,7 @@ public class DeviceLibraryController {
@PostMapping("/updateDeviceLibrary")
public ResponseEntity<String> updateDeviceLibrary(@RequestBody DeviceEditVo deviceEditVo) {
DeviceLibrary deviceLibraryEntity = deviceLibraryService.getOne(deviceEditVo.getDeviceId());
//更新装备信息
if(deviceEditVo.getUpdateVoList()!=null) {
DeviceLibraryUpdateVo libraryUpdateVo = deviceEditVo.getUpdateVoList();
if (libraryUpdateVo.getInvisibleRange()!=null){
......@@ -185,6 +182,7 @@ public class DeviceLibraryController {
}
deviceLibraryService.update(deviceLibraryEntity);
}
//添加绑定配件
if (deviceEditVo.getPartAddIdList()!=null){
for (Integer id:deviceEditVo.getPartAddIdList()) {
if (id>0) {
......@@ -200,6 +198,7 @@ public class DeviceLibraryController {
}
}
}
//删除和配件的绑定
if (deviceEditVo.getPartIdDeleteList()!=null){
for (Integer id:deviceEditVo.getPartIdDeleteList()) {
if (id>0) {
......@@ -233,12 +232,4 @@ public class DeviceLibraryController {
List<DeviceLibrary> deviceLibraryEntityList = libraryEntities.stream().filter(deviceLibraryEntity -> deviceLibraryEntity.getIsPart()==0).collect(Collectors.toList());
return ResultUtil.success(deviceLibraryEntityList);
}
private List<DeviceLogUserVo> orderByCreateTimeAsc(List<DeviceLogUserVo> list){
Collections.sort(list, (o1, o2) -> {
int flag = o1.getCreateTime().compareTo(o2.getCreateTime());
return flag;
});
return list;
}
}
package com.tykj.dev.device.library.repository;
import com.tykj.dev.device.library.subject.domin.DeviceUseReport;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* @author dengdiyi
*/
public interface DeviceUseReportDao extends JpaRepository<DeviceUseReport,Integer>, JpaSpecificationExecutor<DeviceUseReport> {
}
......@@ -13,37 +13,100 @@ import java.util.List;
*/
public interface DeviceLibraryService {
/**
* @param deviceLibraryEntity
* 添加装备
*/
DeviceLibrary addEntity(DeviceLibrary deviceLibraryEntity);
/**
* @param deviceLibrarySelectVo 装备查询vo
* @param pageable
* 获取装备分页
*/
Page<DeviceLibrary> getPage(DeviceLibrarySelectVo deviceLibrarySelectVo, Pageable pageable);
/**
* @param deviceLibrarySelectVo 装备查询vo
* @param pageable
* 获取标签管理分页
*/
Page<DeviceLibrary> getTagPage(DeviceLibrarySelectVo deviceLibrarySelectVo, Pageable pageable);
List<DeviceLibrary> getAllotPage(DeviceLibrarySelectVo deviceLibrarySelectVo);
/**
* @param deviceLibrarySelectVo 装备查询vo
* @param pageable
* 获取核心装备分页
*/
Page<DeviceLibrary> getCoreDevicePage(DeviceLibrarySelectVo deviceLibrarySelectVo, Pageable pageable);
/**
* @param deviceLibrarySelectVo 装备查询vo
* @param pageable
* 获取装备统计分页
*/
Page<DeviceStatisticsVo> getDeviceStatisticsPage(DeviceLibrarySelectVo deviceLibrarySelectVo, Pageable pageable);
/**
* 获取所有存在的装备名称
*/
List<String> getAllName();
/**
* @param deviceLibrarySelectVo 装备查询vo
* 获取单位装备列表
*/
List<DeviceLibrary> getList(DeviceLibrarySelectVo deviceLibrarySelectVo);
/**
* @param deviceLibrarySelectVo 装备查询vo
* 获取所有区域装备列表
*/
List<DeviceLibrary> getAllList(DeviceLibrarySelectVo deviceLibrarySelectVo);
/**
* 获取单位自查装备列表
*/
List<DeviceLibrary> getCheckList();
/**
* @param deviceLibrarySelectVo 装备查询vo
* 获取可配发装备列表
*/
List<DeviceLibrary> getAllotList(DeviceLibrarySelectVo deviceLibrarySelectVo);
/**
* @param id 入库单id
* 根据入库单Id查询装备列表
*/
List<DeviceLibrary> getListByBillId(Integer id);
/**
* @param deviceLibraryEntity
* 更新装备信息
*/
DeviceLibrary update(DeviceLibrary deviceLibraryEntity);
/**
* @param id 装备主键Id
* 通过id查询某件装备
*/
DeviceLibrary getOne(Integer id);
/**
* @param id 装备主键id
* 逻辑删除某件装备
*/
void delete(Integer id);
/**
* @param deviceLibrarySelectVo 装备查询vo
* 不以父子结构返回单位装备列表
*/
List<DeviceLibrary> getListWithoutParent(DeviceLibrarySelectVo deviceLibrarySelectVo);
/**
* 查询拥有装备的所有单位
*/
List<String> getAllUnit();
}
package com.tykj.dev.device.library.service;
import com.tykj.dev.device.library.subject.domin.DeviceUseReport;
import com.tykj.dev.device.library.subject.vo.DeviceUseReportCreateVo;
import com.tykj.dev.device.library.subject.vo.DeviceUseReportSelectVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**
* @author dengdiyi
*/
public interface DeviceUseReportService {
DeviceUseReport addEntity(DeviceUseReport deviceUseReportEntity);
Page<DeviceUseReport> getPage(DeviceUseReportSelectVo deviceUseReportSelectVo, Pageable pageable);
DeviceUseReport getOne(Integer id);
DeviceUseReport update(DeviceUseReport deviceUseReportEntity);
DeviceUseReport createReport(DeviceUseReportCreateVo deviceUseReportCreateVo);
void delete(Integer id);
}
......@@ -134,6 +134,16 @@ public class DeviceLibrary {
*/
@ApiModelProperty(value = "锁定状态,0-未锁定可用,1-锁定不可用")
private Integer lockStatus = 0;
/**
* 图片名称
*/
@ApiModelProperty(value = "图片名称")
private String imageName;
/**
* 图片url地址
*/
@ApiModelProperty(value = "图片url地址")
private String imageUrl;
/**
* 创建用户id
*/
......
......@@ -20,8 +20,4 @@ public class DeviceDetailVo {
private List<DeviceLogUserVo> deviceLogEntityList;
private String imageName;
private String imageUrl;
}
......@@ -34,4 +34,6 @@ public class DeviceLibrarySaveVo {
@ApiModelProperty(value = "管理状态,0-不再所属单位,1-在所属单位")
private Integer manageStatus;
@ApiModelProperty(value = "是不是单独的配件,0-不是,1-是")
private Integer isSinglePart = 0;
}
......@@ -10,6 +10,20 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>device-matching</artifactId>
<dependencies>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-user</artifactId>
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-library</artifactId>
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-task</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.tykj.dev.device.matching;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author zjm
* @version 1.0.0
* @ClassName userApp.java
* @Description TODO
* @createTime 2020年09月01日 14:32:00
*/
@SpringBootApplication(scanBasePackages={
"com.tykj.dev.*",
}
)
public class matchingApp {
public static void main(String[] args) {
SpringApplication.run(matchingApp.class, args);
}
}
package com.tykj.dev.device.matching.repository;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceBill;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* @author dengdiyi
*/
public interface MatchingDeviceBillDao extends JpaRepository<MatchingDeviceBill,Integer>, JpaSpecificationExecutor<MatchingDeviceBill> {
}
package com.tykj.dev.device.matching.repository;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* @author dengdiyi
*/
public interface MatchingDeviceLibraryDao extends JpaRepository<MatchingDeviceLibrary,Integer>, JpaSpecificationExecutor<MatchingDeviceLibrary> {
}
package com.tykj.dev.device.matching.service;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceBill;
/**
* @author dengdiyi
*/
public interface MatchingDeviceBillService {
/**
* @param matchingDeviceBillEntity
* 添加配套设备账单
*/
MatchingDeviceBill addEntity(MatchingDeviceBill matchingDeviceBillEntity);
/**
* @param id
* 通过id查找账单
*/
MatchingDeviceBill getOne(Integer id);
/**
* @param matchingDeviceBillEntity
* 更新账单
*/
MatchingDeviceBill update(MatchingDeviceBill matchingDeviceBillEntity);
}
package com.tykj.dev.device.matching.service;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary;
import com.tykj.dev.device.matching.subject.vo.MatchingDeviceSelectVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**
* @author dengdiyi
*/
public interface MatchingDeviceLibraryService {
/**
* @param matchingDeviceLibraryEntity
* 添加配套设备
*/
MatchingDeviceLibrary addEntity(MatchingDeviceLibrary matchingDeviceLibraryEntity);
/**
* @param id
* 通过id查询配套设备
*/
MatchingDeviceLibrary getOne(Integer id);
/**
* @param matchingDeviceLibraryEntity
* 更新配套设备信息
*/
MatchingDeviceLibrary update(MatchingDeviceLibrary matchingDeviceLibraryEntity);
/**
* @param id
* 删除配套设备
*/
void delete(Integer id);
/**
* @param matchingDeviceSelectVo 配套设备查询vo
* @param pageable
* 配套设备分页查询
*/
Page<MatchingDeviceLibrary> getPage(MatchingDeviceSelectVo matchingDeviceSelectVo, Pageable pageable);
}
package com.tykj.dev.device.matching.service.impl;
import com.tykj.dev.device.matching.repository.MatchingDeviceBillDao;
import com.tykj.dev.device.matching.service.MatchingDeviceBillService;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceBill;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Optional;
/**
* @author dengdiyi
*/
@Service
public class MatchingDeviceBillServiceImpl implements MatchingDeviceBillService {
@Autowired
private MatchingDeviceBillDao matchingDeviceBillDao;
@Override
public MatchingDeviceBill addEntity(MatchingDeviceBill matchingDeviceBillEntity) {
return matchingDeviceBillDao.save(matchingDeviceBillEntity);
}
@Override
public MatchingDeviceBill getOne(Integer id) {
Optional<MatchingDeviceBill> deviceBillEntity = matchingDeviceBillDao.findById(id);
return deviceBillEntity.orElse(null);
}
@Override
public MatchingDeviceBill update(MatchingDeviceBill matchingDeviceBillEntity) {
return matchingDeviceBillDao.save(matchingDeviceBillEntity);
}
}
package com.tykj.dev.device.matching.service.impl;
import com.github.wenhao.jpa.PredicateBuilder;
import com.github.wenhao.jpa.Specifications;
import com.tykj.dev.device.matching.repository.MatchingDeviceLibraryDao;
import com.tykj.dev.device.matching.service.MatchingDeviceLibraryService;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary;
import com.tykj.dev.device.matching.subject.vo.MatchingDeviceSelectVo;
import com.tykj.dev.device.user.subject.service.UserPublicService;
import com.tykj.dev.device.user.util.UserUtils;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.PageUtil;
import com.tykj.dev.misc.utils.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import javax.persistence.Transient;
import java.lang.reflect.Field;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author dengdiyi
*/
@Service
public class MatchingDeviceLibraryServiceImpl implements MatchingDeviceLibraryService {
@Autowired
private MatchingDeviceLibraryDao matchingDeviceLibraryDao;
@Autowired
private UserUtils userUtils;
@Autowired
private UserPublicService userPublicService;
@Override
public MatchingDeviceLibrary addEntity(MatchingDeviceLibrary matchingDeviceLibraryEntity) {
return matchingDeviceLibraryDao.save(matchingDeviceLibraryEntity);
}
@Override
public MatchingDeviceLibrary getOne(Integer id) {
Optional<MatchingDeviceLibrary> matchingDeviceLibraryEntity = matchingDeviceLibraryDao.findById(id);
return matchingDeviceLibraryEntity.orElse(null);
}
@Override
public MatchingDeviceLibrary update(MatchingDeviceLibrary matchingDeviceLibraryEntity) {
return matchingDeviceLibraryDao.save(matchingDeviceLibraryEntity);
}
@Override
public void delete(Integer id) {
matchingDeviceLibraryDao.deleteById(id);
}
@Override
public Page<MatchingDeviceLibrary> getPage(MatchingDeviceSelectVo matchingDeviceSelectVo, Pageable pageable) {
PredicateBuilder<MatchingDeviceLibrary> predicateBuilder = getPredicate(matchingDeviceSelectVo);
Integer selectUnitId = matchingDeviceSelectVo.getUnitId();
Integer selectAreaId = matchingDeviceSelectVo.getAreaId();
if (selectAreaId==null){
//如果areaId和unitId都传Null,返回当前单位的配套设备
if (selectUnitId==null){
predicateBuilder.eq("createUnit", userUtils.getCurrentUserUnitName());
return matchingDeviceLibraryDao.findAll(predicateBuilder.build(), matchingDeviceSelectVo.getPageable());
}
//如果areaId为Null,unitId不为null,返回对应单位的配套设备
else {
String unitName = userPublicService.findByUnitsToname(selectUnitId);
predicateBuilder.eq("createUnit", unitName);
return matchingDeviceLibraryDao.findAll(predicateBuilder.build(), matchingDeviceSelectVo.getPageable());
}
}
//areaId不为null,返回该区域下所有单位的配套设备
else {
//获取区域等级
Integer selectLevel = userPublicService.getArea(selectAreaId).getType();
//获取区域下所有单位名称
List<String> units = userPublicService.findAllUnitNameByAreaId(selectAreaId);
//如果是市或县,筛选出创建单位在units中的设备
if (selectLevel==3||selectLevel==2){
List<MatchingDeviceLibrary> resultList = matchingDeviceLibraryDao.findAll().stream()
.filter(matchingDeviceLibraryEntity -> units.contains(matchingDeviceLibraryEntity.getCreateUnit()))
.collect(Collectors.toList());
return PageUtil.getPerPage(matchingDeviceSelectVo.getPage(),matchingDeviceSelectVo.getSize(),resultList,pageable);
}
//如果是省,直接返回全部设备
if (selectLevel==1){
List<MatchingDeviceLibrary> resultList = matchingDeviceLibraryDao.findAll();
return PageUtil.getPerPage(matchingDeviceSelectVo.getPage(),matchingDeviceSelectVo.getSize(),resultList,pageable);
}
else{
throw new ApiException(ResultUtil.failed("单位等级只能为1,2,3"));
}
}
}
/**
* @param matchingDeviceSelectVo 配套设备查询vo
* 创建通用查询条件筛选器
*/
private PredicateBuilder<MatchingDeviceLibrary> getPredicate(MatchingDeviceSelectVo matchingDeviceSelectVo){
PredicateBuilder<MatchingDeviceLibrary> predicateBuilder = Specifications.and();
if (matchingDeviceSelectVo.getType()!=null){
predicateBuilder.eq("type",matchingDeviceSelectVo.getType());
}
if (matchingDeviceSelectVo.getModel()!=null){
predicateBuilder.eq("model",matchingDeviceSelectVo.getModel());
}
if (matchingDeviceSelectVo.getName()!=null){
predicateBuilder.eq("name",matchingDeviceSelectVo.getName());
}
if (matchingDeviceSelectVo.getContent()!=null){
Class<MatchingDeviceLibrary> taskEntityClass = MatchingDeviceLibrary.class;
Field[] declaredFields = taskEntityClass.getDeclaredFields();
PredicateBuilder<MatchingDeviceLibrary> p = Specifications.or();
for (Field field : declaredFields) {
if (field.getType().equals(String.class)&&field.getAnnotation(Transient.class)==null) {
p.like(field.getName(), "%" + matchingDeviceSelectVo.getContent() + "%");
}
}
predicateBuilder.predicate(p.build());
}
return predicateBuilder;
}
}
package com.tykj.dev.device.matching.subject.domin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
/**
* entity class for matching_device_bill
* 配套设备新增单
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update matching_device_bill set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("配套设备新增单")
public class MatchingDeviceBill {
/**
* 主键id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(name = "主键id")
private Integer id;
/**
* 发起人id
*/
@ApiModelProperty(value = "发起人id")
private Integer useraId;
/**
* 审核人id
*/
@ApiModelProperty(value = "审核人id")
private Integer userbId;
/**
* 设备主键id以x拼接
*/
@ApiModelProperty(value = "设备主键id以x拼接")
private String deviceDetail;
/**
* 新增设备状态(0:待审核,1:审核失败,2:新增成功)
*/
@ApiModelProperty(value = "新增设备状态(0:待审核,1:审核失败,2:新增成功)")
private Integer billStatus;
/**
* 附件名称
*/
@ApiModelProperty(value = "附件名称")
private String fileName;
/**
* 附件url地址
*/
@ApiModelProperty(value = "附件url地址")
private String fileUrl;
/**
* 创建用户id
*/
@ApiModelProperty(value = "创建用户id")
@CreatedBy
private Integer createUserId;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@CreatedDate
private Date createTime;
/**
* 更新用户id
*/
@ApiModelProperty(value = "更新用户id")
@LastModifiedBy
private Integer updateUserId;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
@LastModifiedDate
private Date updateTime;
/**
* 删除标记(0:未删除,1:已删除)
*/
@ApiModelProperty(value = "删除标记(0:未删除,1:已删除)")
private Integer deleteTag = 0;
}
package com.tykj.dev.device.matching.subject.domin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
/**
* entity class for matching_device_library
* 配套设备库
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update matching_device_library set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("配套设备库")
public class MatchingDeviceLibrary {
/**
* 主键id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(name = "主键id")
private Integer id;
/**
* 绑定装备的主键id
*/
@ApiModelProperty(value = "绑定装备的主键id")
private Integer deviceId;
/**
* 设备类型
*/
@ApiModelProperty(value = "设备类型")
private String type;
/**
* 型号
*/
@ApiModelProperty(value = "型号")
private String model;
/**
* 设备名称
*/
@ApiModelProperty(value = "设备名称")
private String name;
/**
* 创建单位
*/
@ApiModelProperty(value = "创建单位")
private String createUnit;
/**
* 设备序列号
*/
@ApiModelProperty(value = "设备序列号")
private String seqNumber;
/**
* rfid表面号
*/
@ApiModelProperty(value = "rfid表面号")
private String rfidSurfaceId;
/**
* rfid卡号
*/
@ApiModelProperty(value = "rfid卡号")
private String rfidCardId;
/**
* 生命状态,0,-入库待审核,1-入库审核失败,2-在库
*/
@ApiModelProperty(value = "生命状态,0,-入库待审核,1-入库审核失败,2-在库")
private Integer lifeStatus;
/**
* 创建用户id
*/
@ApiModelProperty(value = "创建用户id")
@CreatedBy
private Integer createUserId;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@CreatedDate
private Date createTime;
/**
* 更新用户id
*/
@ApiModelProperty(value = "更新用户id")
@LastModifiedBy
private Integer updateUserId;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
@LastModifiedDate
private Date updateTime;
/**
* 删除标记(0:未删除,1:已删除)
*/
@ApiModelProperty(value = "删除标记(0:未删除,1:已删除)")
private Integer deleteTag = 0;
/**
* 关联装备rfid表面号
*/
@ApiModelProperty(value = "关联装备rfid表面号")
@Transient
private String relateDevice;
}
package com.tykj.dev.device.matching.subject.vo;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceBill;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary;
import com.tykj.dev.device.task.subject.vo.TaskLogUserVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("新增配套详情返回类")
public class MacthingDetailVo {
@ApiModelProperty(name = "新增单")
private MatchingDeviceBill matchingDeviceBill;
@ApiModelProperty(name = "新增配套设备")
private List<MatchingDeviceLibrary> matchingDeviceLibraries;
@ApiModelProperty(name = "业务日志")
private List<TaskLogUserVo> taskLogUserVos;
}
package com.tykj.dev.device.matching.subject.vo;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.library.subject.vo.DeviceLogUserVo;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("配套设备详情返回类")
public class MacthingDeviceDetailVo {
@ApiModelProperty(name = "配套设备")
private MatchingDeviceLibrary matchingDeviceLibrary;
@ApiModelProperty(name = "关联装备")
private DeviceLibrary deviceLibrary;
@ApiModelProperty(name = "设备履历日志")
private List<DeviceLogUserVo> deviceLogUserVos;
}
package com.tykj.dev.device.matching.subject.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dengdiyi
*/
@Data
@ApiModel("新增配套审核类")
public class MatchingDeviceBillConfirmVo {
@ApiModelProperty(value = "任务Id")
private Integer taskId;
@ApiModelProperty(name = "需要修改的状态",example = "0",value = "0为审核通过,1为驳回")
private Integer status;
}
package com.tykj.dev.device.matching.subject.vo;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceBill;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("配套设备账单存储类")
public class MatchingDeviceBillSaveVo {
@ApiModelProperty(value = "确认单附件名")
private String fileName;
@ApiModelProperty(value = "确认单附件url")
private String fileUrl;
@ApiModelProperty(value = "发起人id")
private Integer useraId;
@ApiModelProperty(value = "审核人id")
private Integer userbId;
@ApiModelProperty(value = "配套设备列表")
private List<MatchingDeviceSaveVo> matchingDeviceSaveVoList;
public MatchingDeviceBill toDo(){
MatchingDeviceBill matchingDeviceBillEntity = new MatchingDeviceBill();
BeanUtils.copyProperties(this,matchingDeviceBillEntity);
matchingDeviceBillEntity.setBillStatus(0);
matchingDeviceBillEntity.setDeviceDetail("x");
return matchingDeviceBillEntity;
}
}
package com.tykj.dev.device.matching.subject.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.stereotype.Repository;
/**
* @author dengdiyi
*/
@Repository
@Data
@ApiModel("配套设备编辑类")
public class MatchingDeviceEditVo {
@ApiModelProperty(value = "配套设备的id",example = "1")
private Integer matchingDeviceId;
@ApiModelProperty(value = "绑定装备的id",example = "1")
private Integer deviceId;
@ApiModelProperty(value = "设备类型")
private String type;
/**
* 型号
*/
@ApiModelProperty(value = "型号")
private String model;
/**
* 设备名称
*/
@ApiModelProperty(value = "设备名称")
private String name;
/**
* 创建单位
*/
@ApiModelProperty(value = "创建单位")
private String createUnit;
/**
* 设备序列号
*/
@ApiModelProperty(value = "设备序列号")
private String seqNumber;
@ApiModelProperty(value = "生命状态",example = "1")
private Integer lifeStatus;
}
package com.tykj.dev.device.matching.subject.vo;
import com.tykj.dev.device.matching.subject.domin.MatchingDeviceLibrary;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
/**
* @author dengdiyi
*/
@Data
@ApiModel("配套设备存储类")
public class MatchingDeviceSaveVo {
@ApiModelProperty(value = "设备类型")
private String type;
@ApiModelProperty(value = "型号")
private String model;
@ApiModelProperty(value = "设备名称")
private String name;
@ApiModelProperty(value = "创建单位")
private String createUnit;
@ApiModelProperty(value = "设备序列号")
private String seqNumber;
@ApiModelProperty(value = "rfid表面号")
private String rfidSurfaceId;
@ApiModelProperty(value = "rfid卡号")
private String rfidCardId;
public MatchingDeviceLibrary toDo(){
MatchingDeviceLibrary matchingDeviceLibraryEntity = new MatchingDeviceLibrary();
BeanUtils.copyProperties(this,matchingDeviceLibraryEntity);
matchingDeviceLibraryEntity.setLifeStatus(0);
matchingDeviceLibraryEntity.setDeviceId(0);
return matchingDeviceLibraryEntity;
}
}
package com.tykj.dev.device.matching.subject.vo;
import com.tykj.dev.misc.base.CustomPage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dengdiyi
*/
@Data
@ApiModel("配套设备查询类")
public class MatchingDeviceSelectVo extends CustomPage {
@ApiModelProperty(value = "设备类型")
private String type;
@ApiModelProperty(value = "型号")
private String model;
@ApiModelProperty(value = "设备名称")
private String name;
@ApiModelProperty(value = "模糊查询关键字")
private String content;
@ApiModelProperty(value = "单位id")
private Integer unitId;
@ApiModelProperty(value = "区域id")
private Integer areaId;
}
......@@ -3,6 +3,7 @@ package com.tykj.dev.device.packing.controller;
import com.tykj.dev.config.swagger.AutoDocument;
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.PackingDetailVo;
import com.tykj.dev.device.packing.subject.vo.PackingLibraryConfirmVo;
import com.tykj.dev.device.packing.subject.vo.PackingLibrarySaveVo;
import com.tykj.dev.device.packing.subject.vo.PartSaveVo;
......@@ -10,20 +11,20 @@ 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.Task;
import com.tykj.dev.device.task.subject.vo.TaskLogUserVo;
import com.tykj.dev.device.user.subject.service.UserPublicService;
import com.tykj.dev.device.user.util.UserUtils;
import com.tykj.dev.misc.utils.ResultUtil;
import com.tykj.dev.socket.MyWebSocket;
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.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
......@@ -49,12 +50,17 @@ public class PackingController {
@Autowired
TaskLogService taskLogService;
@Autowired
MyWebSocket myWebSocket;
@ApiOperation(value = "新增列装",notes = "可以通过这个接口发起列装")
@PostMapping("/addPackingLibrary")
public ResponseEntity<PackingLibrary> addPackingLibrary(@RequestBody PackingLibrarySaveVo packingLibrarySaveVo){
//添加列装装备信息
PackingLibrary p = packingLibrarySaveVo.toDo();
p.setUseraId(userUtils.getCurrentUserId());
PackingLibrary packingLibraryEntity = packingLibraryService.addEntity(p);
//添加列装配件信息
for (PartSaveVo part:packingLibrarySaveVo.getPartList()) {
PackingLibrary p2 = new PackingLibrary();
BeanUtils.copyProperties(p,p2);
......@@ -64,14 +70,17 @@ public class PackingController {
p2.setPartParentId(packingLibraryEntity.getId());
packingLibraryService.addEntity(p2);
}
//发起业务
Integer userId = userUtils.getCurrentUserId();
List<Integer> userIds = new ArrayList<>();
userIds.add(userId);
userIds.add(packingLibrarySaveVo.getUserbId());
TaskBto taskBto = new TaskBto(StatusEnum.PACKING_CONFIRM.id,"列装业务",null,".",packingLibraryEntity.getId(),1,userUtils.getCurrentUnitId(),1,null,userIds);
Task saveEntity = taskService.start(taskBto);
//添加业务日志
TaskLogBto taskLogBto = new TaskLogBto(saveEntity.getId(),"发起列装",null);
taskLogService.addLog(taskLogBto);
myWebSocket.sendMessage1();
return ResultUtil.success(packingLibraryEntity);
}
......@@ -79,34 +88,64 @@ public class PackingController {
@PostMapping("/confirmPackingLibrary")
public ResponseEntity<String> confirmPackingLibrary(@RequestBody PackingLibraryConfirmVo packingLibraryConfirmVo){
TaskBto taskBto = taskService.get(packingLibraryConfirmVo.getTaskId());
//审核通过
if(packingLibraryConfirmVo.getStatus()==0){
//业务完结
taskService.update(taskService.moveToEnd(taskBto));
//更改列装装备和配件的状态
PackingLibrary packingLibraryEntity = packingLibraryService.getOne(taskBto.getBillId());
packingLibraryEntity.setPackingStatus(2);
for (PackingLibrary p:packingLibraryService.selectAllPart(taskBto.getBillId())) {
p.setPackingStatus(2);
packingLibraryService.update(p);
}
packingLibraryService.selectAllPart(taskBto.getBillId());
packingLibraryService.update(packingLibraryEntity);
//添加业务日志
TaskLogBto taskLogBto = new TaskLogBto(taskBto.getId(),"列装审核成功",null);
taskLogService.addLog(taskLogBto);
myWebSocket.sendMessage1();
return ResultUtil.success("审核通过列装成功");
}
//审核失败
if (packingLibraryConfirmVo.getStatus()==1){
//业务封存
taskService.moveToArchive(taskBto);
//更改列装装备和配件的状态
PackingLibrary packingLibraryEntity = packingLibraryService.getOne(taskBto.getBillId());
packingLibraryEntity.setPackingStatus(1);
for (PackingLibrary p:packingLibraryService.selectAllPart(taskBto.getBillId())) {
p.setPackingStatus(2);
packingLibraryService.update(p);
}
packingLibraryService.update(packingLibraryEntity);
taskService.update(taskBto);
//添加业务日志
TaskLogBto taskLogBto = new TaskLogBto(taskBto.getId(),"列装审核失败",null);
taskLogService.addLog(taskLogBto);
myWebSocket.sendMessage1();
return ResultUtil.success("列装审核失败");
}
else {
return ResultUtil.failed("status只能为0或1");
}
}
@ApiOperation(value = "查询列装详情",notes = "可以通过这个接口查询列装详情")
@GetMapping(value = "/detail/{billId}")
public ResponseEntity<PackingDetailVo> selectDetail(@PathVariable("billId") int billId) {
PackingDetailVo packingDetailVo = new PackingDetailVo();
//获取taskBto
TaskBto taskBto = taskService.get(billId,BusinessEnum.PACKING.id);
//获取列装主件
PackingLibrary packingLibraryEntity = packingLibraryService.getOne(billId);
packingLibraryEntity.setUserA(userPublicService.getOne(packingLibraryEntity.getUseraId()).getName());
packingLibraryEntity.setUserB(userPublicService.getOne(packingLibraryEntity.getUserbId()).getName());
packingDetailVo.setPackingLibrary(packingLibraryEntity);
//获取所有配件
List<PackingLibrary> packingLibraryEntities= packingLibraryService.selectAllPart(billId);
packingDetailVo.setParts(packingLibraryEntities);
//获取业务日志
List<TaskLogUserVo> taskLogUserVos = taskLogService.getByTaskId(taskBto.getId());
packingDetailVo.setTaskLogUserVos(taskLogUserVos);
return ResultUtil.success(packingDetailVo);
}
}
......@@ -30,6 +30,13 @@ public class PackingLibraryController {
@Autowired
PackingLibraryService packingLibraryService;
@ApiOperation(value = "列装库分页查询",notes = "可以通过这个接口进行列装查询")
@PostMapping("/serve/summary")
public ResponseEntity<Page<PackingLibrary>> getPage(@RequestBody PackingLibrarySelectVo packingLibrarySelectVo){
Page<PackingLibrary> packingLibraryEntityPage = packingLibraryService.getPage(packingLibrarySelectVo, packingLibrarySelectVo.getPageable());
return ResultUtil.success(packingLibraryEntityPage);
}
@ApiOperation(value = "列装库退装分页查询",notes = "可以通过这个接口进行列装查询")
@PostMapping("/retired/summary")
public ResponseEntity<Page<PackingLibrary>> getInvalidPage(@RequestBody PackingLibrarySelectVo packingLibrarySelectVo){
......@@ -48,6 +55,7 @@ public class PackingLibraryController {
@ApiOperation(value = "更新列装库",notes = "可以通过这个接口更新列装")
@PostMapping("/updatePackingLibrary")
public ResponseEntity<String> updatePackingLibrary(@RequestBody PackingEditVo packingEditVo){
//更新列装信息
if (packingEditVo.getUpdateVoList()!=null){
PackingLibrary packingLibraryEntity = packingLibraryService.getOne(packingEditVo.getPackingId());
PackingLibraryUpdateVo p = packingEditVo.getUpdateVoList();
......@@ -101,6 +109,7 @@ public class PackingLibraryController {
}
packingLibraryService.update(packingLibraryEntity);
}
//添加新增配件
if (packingEditVo.getPartAddList()!=null){
for (PartSaveVo p:packingEditVo.getPartAddList()) {
PackingLibrary packingLibraryEntity = packingLibraryService.getOne(packingEditVo.getPackingId());
......@@ -115,6 +124,7 @@ public class PackingLibraryController {
}
}
}
//删除绑定的配件
if (packingEditVo.getPartIdDeleteList()!=null){
for (Integer id:packingEditVo.getPartIdDeleteList()) {
if (id>0) {
......
......@@ -12,27 +12,75 @@ import java.util.List;
*/
public interface PackingLibraryService {
/**
* @param packingLibraryEntity
* 添加列装
*/
PackingLibrary addEntity(PackingLibrary packingLibraryEntity);
/**
* @param packingLibrarySelectVo 列装查询vo
* @param pageable
* 获取列装库分页
*/
Page<PackingLibrary> getPage(PackingLibrarySelectVo packingLibrarySelectVo, Pageable pageable);
/**
* @param packingLibrarySelectVo 列装查询vo
* @param pageable
* 获取列装库退装分页
*/
Page<PackingLibrary> getInvalidPage(PackingLibrarySelectVo packingLibrarySelectVo, Pageable pageable);
/**
* @param packingLibrarySelectVo 列装查询vo
* 获取父子结构列装列表
*/
List<PackingLibrary> getList(PackingLibrarySelectVo packingLibrarySelectVo);
/**
* 获取所有存在的类型列表
*/
List<Integer> getTypeList();
/**
* 获取所有的型号列表
*/
List<String> getModelList();
/**
* @param id 列装库装备主键id
* 获取某个列装装备的所有配件
*/
List<PackingLibrary> selectAllPart(Integer id);
/**
* @param packingLibraryEntity
* 更新列装信息
*/
PackingLibrary update(PackingLibrary packingLibraryEntity);
/**
* @param id 列装库主键Id
* 根据id获取列装
*/
PackingLibrary getOne(Integer id);
/**
* @param id 列装库装备主键id
* 通过id查询列装详情(装备+配件)
*/
List<PackingLibrary> getPackingDetail(Integer id);
/**
* @param id 列装库装备主键id
* 通过id查询退装详情(装备+配件)
*/
List<PackingLibrary> getInvalidDetail(Integer id);
/**
* @param id 列装主键id
* 通过id逻辑删除列装
*/
void delete(Integer id);
}
......@@ -47,22 +47,22 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
@Override
public List<PackingLibrary> getList(PackingLibrarySelectVo packingLibrarySelectVo) {
List<PackingLibrary> packingLibraryEntities = packingLibraryDao.findAll(getSelectSpecification(packingLibrarySelectVo));
//返回父子结构
Map<Integer, PackingLibrary> nodeCollect =
packingLibraryEntities.stream().collect(Collectors.toMap(PackingLibrary::getId,packingLibraryEntity -> packingLibraryEntity));
List<PackingLibrary> packingLibraryEntityList= GetTreeUtils.parseTreeFromDown(
return GetTreeUtils.parseTreeFromDown(
packingLibraryEntities,
PackingLibrary::getId,
packingLibraryEntity -> Optional.ofNullable(nodeCollect.get(packingLibraryEntity.getPartParentId())),
PackingLibrary::addChildNode
);
return packingLibraryEntityList;
}
@Override
public List<Integer> getTypeList() {
List<PackingLibrary> strings = packingLibraryDao.findAll();
List<PackingLibrary> list = packingLibraryDao.findAll();
Set<Integer> s = new HashSet<>();
for (PackingLibrary d:strings) {
for (PackingLibrary d:list) {
s.add(d.getType());
}
return new ArrayList<>(s);
......@@ -70,9 +70,9 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
@Override
public List<String> getModelList() {
List<PackingLibrary> strings = packingLibraryDao.findAll();
List<PackingLibrary> list = packingLibraryDao.findAll();
Set<String> s = new HashSet<>();
for (PackingLibrary d:strings) {
for (PackingLibrary d:list) {
s.add(d.getModel());
}
return new ArrayList<>(s);
......@@ -106,11 +106,13 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
public List<PackingLibrary> getPackingDetail(Integer id) {
Optional<PackingLibrary> byId = packingLibraryDao.findById(id);
if (!byId.isPresent()) {
return null;
throw new ApiException(ResultUtil.failed("id不存在"));
}
else {
//添加主件
List<PackingLibrary> libraryEntities = new ArrayList<>();
libraryEntities.add(byId.get());
//添加配件信息
List<PackingLibrary> p = packingLibraryDao.findAll(getSelectSpecification3(id));
libraryEntities.addAll(p);
return libraryEntities;
......@@ -121,11 +123,13 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
public List<PackingLibrary> getInvalidDetail(Integer id) {
Optional<PackingLibrary> byId = packingLibraryDao.findById(id);
if (!byId.isPresent()) {
return null;
throw new ApiException(ResultUtil.failed("id不存在"));
}
else {
//添加主件
List<PackingLibrary> libraryEntities = new ArrayList<>();
libraryEntities.add(byId.get());
//添加配件信息
List<PackingLibrary> p = packingLibraryDao.findAll(getSelectSpecification4(id));
libraryEntities.addAll(p);
return libraryEntities;
......
package com.tykj.dev.device.packing.subject.vo;
import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import com.tykj.dev.device.task.subject.vo.TaskLogUserVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author dengdiyi
*/
@Repository
@Data
@ApiModel("列装业务详情返回类")
public class PackingDetailVo {
@ApiModelProperty(name = "列装主件")
private PackingLibrary packingLibrary;
@ApiModelProperty(name = "列装配件件")
private List<PackingLibrary> parts;
@ApiModelProperty(name = "业务日志")
private List<TaskLogUserVo> taskLogUserVos;
}
......@@ -11,5 +11,19 @@
<artifactId>device-repair</artifactId>
<dependencies>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-user</artifactId>
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-task</artifactId>
</dependency>
<dependency>
<groupId>com.tykj.dev</groupId>
<artifactId>device-library</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.tykj.dev.device.repair.controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.repair.service.RepairBillService;
import com.tykj.dev.device.repair.subject.domin.RepairBill;
import com.tykj.dev.device.repair.subject.vo.RepairBillSelectVo;
import com.tykj.dev.misc.utils.ResultUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author dengdiyi
*/
@RestController
@RequestMapping(value = "/business")
@AutoDocument
@Api(tags = "业务模块",description = "业务模块")
public class RepairBillSelectController {
@Autowired
private RepairBillService repairBillService;
@ApiOperation(value = "查询维修单",notes = "可以通过这个接口查询维修单")
@PostMapping(value = "/archives/repair/summary")
public ResponseEntity<Page<RepairBill>> selectRepairBill(@RequestBody RepairBillSelectVo repairBillSelectVo){
return ResultUtil.success(repairBillService.getPage(repairBillSelectVo,repairBillSelectVo.getPageable()));
}
}
package com.tykj.dev.device.repair;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author zjm
* @version 1.0.0
* @ClassName userApp.java
* @Description TODO
* @createTime 2020年09月01日 14:32:00
*/
@SpringBootApplication(scanBasePackages={
"com.tykj.dev.*",
}
)
public class repairApp {
public static void main(String[] args) {
SpringApplication.run(repairApp.class, args);
}
}
package com.tykj.dev.device.repair.repository;
import com.tykj.dev.device.repair.subject.domin.RepairBackBill;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* @author zjm
* @version 1.0.0
* @ClassName DeviceRepairBackBillDao.java
* @Description TODO
* @createTime 2020年08月25日 10:29:00
*/
public interface RepairBackBillDao extends JpaRepository<RepairBackBill,Integer>, JpaSpecificationExecutor<RepairBackBill> {
}
package com.tykj.dev.device.repair.repository;
import com.tykj.dev.device.repair.subject.domin.RepairBill;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* @author dengdiyi
*/
public interface RepairBillDao extends JpaRepository<RepairBill,Integer>, JpaSpecificationExecutor<RepairBill> {
}
package com.tykj.dev.device.repair.repository;
import com.tykj.dev.device.repair.subject.domin.RepairDetail;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
public interface RepairDetailDao extends JpaRepository<RepairDetail,Integer>, JpaSpecificationExecutor<RepairDetail> {
List<RepairDetail> findByDeviceRepairBillId(Integer billId);
}
package com.tykj.dev.device.repair.repository;
import com.tykj.dev.device.repair.subject.domin.RepairSendBill;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* @author dengdiyi
*/
public interface RepairSendBillDao extends JpaRepository<RepairSendBill,Integer>, JpaSpecificationExecutor<RepairSendBill> {
RepairSendBill findByDeviceRepairBillId(Integer id);
}
package com.tykj.dev.device.repair.service;
import com.tykj.dev.device.repair.subject.domin.RepairBackBill;
public interface RepairBackBillService extends RepairPublicService<RepairBackBill> {
RepairBackBill getOne(Integer id);
}
package com.tykj.dev.device.repair.service;
import com.tykj.dev.device.repair.subject.domin.RepairBill;
import com.tykj.dev.device.repair.subject.vo.RepairBillSelectVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**
* @author dengdiyi
*/
public interface RepairBillService {
RepairBill addEntity(RepairBill deviceRepairBillEntity);
Page<RepairBill> getPage(RepairBillSelectVo deviceRepairBillSelectVo, Pageable pageable);
RepairBill getOne(Integer id);
RepairBill update(RepairBill deviceRepairBillEntity);
void delete(Integer id);
}
package com.tykj.dev.device.repair.service;
import com.tykj.dev.device.repair.subject.domin.RepairDetail;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName DeviceRepairDetailService.java
* @Description TODO
* @createTime 2020年08月25日 10:33:00
*/
public interface RepairDetailService extends RepairPublicService<RepairDetail> {
/**
* 根据billid查询维修单的设备
* @param billID 维修单id
* @return 所对应的装备信息
*/
List<RepairDetail> findByBillId(Integer billId);
/**
* 修改业务对应装备的状态
* @param id 对应装备的id
* @param status 修改的状态
* @return 修改的对装备对象
*/
RepairDetail updateIdAndStatus(Integer id,Integer status);
}
package com.tykj.dev.device.repair.service;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName PublicService.java
* @Description 通用接口
* @createTime 2020年07月27日 14:52:00
*/
public interface RepairPublicService<T> {
/**
* 通用新增接口
* @param t 对象
* @return 对象
*/
T save(T t);
/**
* 根据id删除数据
* @param id 数据id
* @return 布尔
*/
boolean delete(Integer id);
/**
* 查询所有数据
* @return 数据集合
*/
List<T> findAll();
/**
* 更新数据
* @param t 对象
* @return 对象
*/
T update(T t);
}
package com.tykj.dev.device.repair.service;
import com.tykj.dev.device.repair.subject.domin.RepairSendBill;
import com.tykj.dev.device.repair.subject.vo.RepairBillSelectVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**
* @author dengdiyi
*/
public interface RepairSendBillService {
RepairSendBill addEntity(RepairSendBill deviceRepairSendBillEntity);
Page<RepairSendBill> getPage(RepairBillSelectVo deviceRepairBillSelectVo, Pageable pageable);
RepairSendBill getOne(Integer id);
RepairSendBill update(RepairSendBill deviceRepairSendBillEntity);
void delete(Integer id);
}
package com.tykj.dev.device.repair.service.impl;
import com.tykj.dev.device.repair.repository.RepairBackBillDao;
import com.tykj.dev.device.repair.service.RepairBackBillService;
import com.tykj.dev.device.repair.subject.domin.RepairBackBill;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
/**
* @author zjm
* @version 1.0.0
* @ClassName DeviceRepairBackBillServiceImpl.java
* @Description TODO
* @createTime 2020年08月25日 10:36:00
*/
@Service
public class RepairBackBillServiceImpl implements RepairBackBillService {
@Autowired
RepairBackBillDao deviceRepairBackBillDao;
@Override
public RepairBackBill save(RepairBackBill deviceRepairBackBillEntity) {
return deviceRepairBackBillDao.save(deviceRepairBackBillEntity);
}
@Override
public boolean delete(Integer id) {
return false;
}
@Override
public List<RepairBackBill> findAll() {
return deviceRepairBackBillDao.findAll();
}
@Override
public RepairBackBill update(RepairBackBill deviceRepairBackBillEntity) {
return deviceRepairBackBillDao.save(deviceRepairBackBillEntity);
}
@Override
public RepairBackBill getOne(Integer id) {
Optional<RepairBackBill> repairBackBill = deviceRepairBackBillDao.findById(id);
if (repairBackBill.isPresent()){
return repairBackBill.get();
}
else{
throw new ApiException(ResultUtil.failed("所查询的Id不存在"));
}
}
}
package com.tykj.dev.device.repair.service.impl;
import com.github.wenhao.jpa.PredicateBuilder;
import com.github.wenhao.jpa.Specifications;
import com.tykj.dev.device.repair.repository.RepairBillDao;
import com.tykj.dev.device.repair.service.RepairBillService;
import com.tykj.dev.device.repair.subject.domin.RepairBill;
import com.tykj.dev.device.repair.subject.vo.RepairBillSelectVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import javax.persistence.Transient;
import java.lang.reflect.Field;
import java.util.Optional;
/**
* @author dengdiyi
*/
@Service
public class RepairBillServiceImpl implements RepairBillService {
@Autowired
private RepairBillDao deviceRepairBillDao;
@Override
public RepairBill addEntity(RepairBill deviceRepairBillEntity) {
return deviceRepairBillDao.save(deviceRepairBillEntity);
}
@Override
public Page<RepairBill> getPage(RepairBillSelectVo deviceRepairBillSelectVo, Pageable pageable) {
return deviceRepairBillDao.findAll(getSelectSpecification(deviceRepairBillSelectVo),pageable);
}
@Override
public RepairBill getOne(Integer id) {
Optional<RepairBill> resultEntity = deviceRepairBillDao.findById(id);
return resultEntity.orElse(null);
}
@Override
public RepairBill update(RepairBill deviceRepairBillEntity) {
return deviceRepairBillDao.save(deviceRepairBillEntity);
}
@Override
public void delete(Integer id) {
deviceRepairBillDao.deleteById(id);
}
private Specification<RepairBill> getSelectSpecification(RepairBillSelectVo deviceRepairBillSelectVo){
PredicateBuilder<RepairBill> predicateBuilder = Specifications.and();
if (deviceRepairBillSelectVo!=null) {
if (deviceRepairBillSelectVo.getReceiveUnit()!=null){
predicateBuilder.eq("receiveUnit",deviceRepairBillSelectVo.getReceiveUnit());
}
if (deviceRepairBillSelectVo.getSendUnit()!=null){
predicateBuilder.eq("sendUnit",deviceRepairBillSelectVo.getSendUnit());
}
if (deviceRepairBillSelectVo.getContent() != null) {
Class<RepairBill> deviceRepairBillEntityClass = RepairBill.class;
Field[] declaredFields = deviceRepairBillEntityClass.getDeclaredFields();
PredicateBuilder<RepairBill> p = Specifications.or();
for (Field field : declaredFields) {
if (field.getType().equals(String.class)&&field.getAnnotation(Transient.class)==null) {
p.like(field.getName(), "%" + deviceRepairBillSelectVo.getContent() + "%");
}
}
predicateBuilder.predicate(p.build());
}
if (deviceRepairBillSelectVo.getStartTime() != null) {
predicateBuilder.gt("createTime", deviceRepairBillSelectVo.getStartTime());
}
if (deviceRepairBillSelectVo.getEndTime() != null) {
predicateBuilder.lt("createTime", deviceRepairBillSelectVo.getEndTime());
}
}
predicateBuilder.eq("repairStatus",5);
return predicateBuilder.build();
}
}
package com.tykj.dev.device.repair.service.impl;
import com.tykj.dev.device.repair.repository.RepairDetailDao;
import com.tykj.dev.device.repair.service.RepairDetailService;
import com.tykj.dev.device.repair.subject.domin.RepairDetail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName DeviceRepairDetailServiceImpl.java
* @Description TODO
* @createTime 2020年08月25日 10:37:00
*/
@Service
public class RepairDetailServiceImpl implements RepairDetailService {
@Autowired
RepairDetailDao deviceRepairDetailDao;
@Override
public RepairDetail save(RepairDetail deviceRepairDetailEntity) {
return deviceRepairDetailDao.save(deviceRepairDetailEntity);
}
@Override
public boolean delete(Integer id) {
return false;
}
@Override
public List<RepairDetail> findAll() {
return deviceRepairDetailDao.findAll();
}
@Override
public RepairDetail update(RepairDetail deviceRepairDetailEntity) {
return deviceRepairDetailDao.save(deviceRepairDetailEntity);
}
@Override
public List<RepairDetail> findByBillId(Integer billId) {
return deviceRepairDetailDao.findByDeviceRepairBillId(billId);
}
@Override
public RepairDetail updateIdAndStatus(Integer id, Integer status) {
return null;
}
}
package com.tykj.dev.device.repair.service.impl;
import com.github.wenhao.jpa.PredicateBuilder;
import com.github.wenhao.jpa.Specifications;
import com.tykj.dev.device.repair.repository.RepairSendBillDao;
import com.tykj.dev.device.repair.service.RepairSendBillService;
import com.tykj.dev.device.repair.subject.domin.RepairSendBill;
import com.tykj.dev.device.repair.subject.vo.RepairBillSelectVo;
import com.tykj.dev.device.user.subject.service.UserPublicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import javax.persistence.Transient;
import java.lang.reflect.Field;
import java.util.Optional;
/**
* @author dengdiyi
*/
@Service
public class RepairSendBillServiceImpl implements RepairSendBillService {
@Autowired
private UserPublicService userService;
@Autowired
private RepairSendBillDao deviceRepairSendBillDao;
@Override
public RepairSendBill addEntity(RepairSendBill deviceRepairSendBillEntity) {
return deviceRepairSendBillDao.save(deviceRepairSendBillEntity);
}
@Override
public Page<RepairSendBill> getPage(RepairBillSelectVo deviceRepairBillSelectVo, Pageable pageable) {
Page<RepairSendBill> page = deviceRepairSendBillDao.findAll(getSelectSpecification(deviceRepairBillSelectVo),deviceRepairBillSelectVo.getPageable());
for (RepairSendBill d:page.getContent()) {
d.setStartUserA(userService.getOne(d.getStartUseraId()).getName());
d.setStartUserB(userService.getOne(d.getStartUserbId()).getName());
d.setRepairUserA(userService.getOne(d.getRepairUseraId()).getName());
d.setRepairUserB(userService.getOne(d.getRepairUserbId()).getName());
}
return page;
}
@Override
public RepairSendBill getOne(Integer id) {
Optional<RepairSendBill> resultEntity = deviceRepairSendBillDao.findById(id);
return resultEntity.orElse(null);
}
@Override
public RepairSendBill update(RepairSendBill deviceRepairSendBillEntity) {
return deviceRepairSendBillDao.save(deviceRepairSendBillEntity);
}
@Override
public void delete(Integer id) {
deviceRepairSendBillDao.deleteById(id);
}
private Specification<RepairSendBill> getSelectSpecification(RepairBillSelectVo deviceRepairBillSelectVo){
PredicateBuilder<RepairSendBill> predicateBuilder = Specifications.and();
if (deviceRepairBillSelectVo!=null) {
if (deviceRepairBillSelectVo.getRepairUseraId()!=null){
predicateBuilder.eq("repairUseraId",deviceRepairBillSelectVo.getRepairUseraId());
}
if (deviceRepairBillSelectVo.getReceiveUnit()!=null){
predicateBuilder.eq("receiveUnit",deviceRepairBillSelectVo.getReceiveUnit());
}
if (deviceRepairBillSelectVo.getRepairUserbId()!=null){
predicateBuilder.eq("repairUserbId",deviceRepairBillSelectVo.getRepairUserbId());
}
if (deviceRepairBillSelectVo.getStartUseraId()!=null){
predicateBuilder.eq("startUseraId",deviceRepairBillSelectVo.getStartUseraId());
}
if (deviceRepairBillSelectVo.getStartUserbId()!=null){
predicateBuilder.eq("startUserbId",deviceRepairBillSelectVo.getStartUserbId());
}
if (deviceRepairBillSelectVo.getContent() != null) {
Class<RepairSendBill> deviceRepairBillEntityClass = RepairSendBill.class;
Field[] declaredFields = deviceRepairBillEntityClass.getDeclaredFields();
PredicateBuilder<RepairSendBill> p = Specifications.or();
for (Field field : declaredFields) {
if (field.getType().equals(String.class)&&field.getAnnotation(Transient.class)==null) {
p.like(field.getName(), "%" + deviceRepairBillSelectVo.getContent() + "%");
}
}
predicateBuilder.predicate(p.build());
}
if (deviceRepairBillSelectVo.getStartTime() != null) {
predicateBuilder.gt("createTime", deviceRepairBillSelectVo.getStartTime());
}
if (deviceRepairBillSelectVo.getEndTime() != null) {
predicateBuilder.lt("updateTime", deviceRepairBillSelectVo.getEndTime());
}
}
return predicateBuilder.build();
}
}
package com.tykj.dev.device.repair.subject.domin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
/**
* entity class for repair_back_bill
* 装备维修完成退回账单
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update repair_back_bill set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("装备维修完成退回账单")
public class RepairBackBill {
/**
* 主键id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(name = "主键id")
private Integer id;
/**
* 维修退回标题
*/
@ApiModelProperty(value = "维修退回标题")
private String title;
/**
* 申请文号
*/
@ApiModelProperty(value = "申请文号")
private String applyNumber;
/**
* 批复文号
*/
@ApiModelProperty(value = "批复文号")
private String replayNumber;
/**
* 发件单位
*/
@ApiModelProperty(value = "发件单位")
private String sendUnit;
/**
* 收件单位
*/
@ApiModelProperty(value = "收件单位")
private String receiveUnit;
/**
* 配发时间
*/
@ApiModelProperty(value = "配发时间")
private Date sendTime;
/**
* 接收时间
*/
@ApiModelProperty(value = "接收时间")
private Date receiveTime;
/**
* 维修单id
*/
@ApiModelProperty(value = "维修单id")
private Integer deviceRepairBillId;
/**
* 维修完成退回经办人id(省A岗)
*/
@ApiModelProperty(value = "维修完成退回经办人id(省A岗)")
private Integer startUseraId;
/**
* 维修完成退回审核人id(省B岗)
*/
@ApiModelProperty(value = "维修完成退回审核人id(省B岗)")
private Integer startUserbId;
/**
* 维修完成接收单位经办人id(市A岗)
*/
@ApiModelProperty(value = "维修完成接收单位经办人id(市A岗)")
private Integer receiveUseraId;
/**
* 维修完成接收单位审核人id(市B岗)
*/
@ApiModelProperty(value = "维修完成接收单位审核人id(市B岗)")
private Integer receiveUserbId;
/**
* 出库附件文件名
*/
@ApiModelProperty(value = "出库附件文件名")
private String fileName;
/**
* 出库附件文件地址URL
*/
@ApiModelProperty(value = "出库附件文件地址URL")
private String fileUrl;
/**
* 入库附件文件名
*/
@ApiModelProperty(value = "入库附件文件名")
private String receiveFileName;
/**
* 入库附件文件地址URL
*/
@ApiModelProperty(value = "入库附件文件地址URL")
private String receiveFileUrl;
/**
* 账单文件名
*/
@ApiModelProperty(value = "账单文件名")
private String billFileName;
/**
* 账单文件地址URL
*/
@ApiModelProperty(value = "账单文件地址URL")
private String billFileUrl;
/**
* 应出库装备数量
*/
@ApiModelProperty(value = "应出库装备数量")
private Integer sendingCount;
/**
* 已出库装备数量
*/
@ApiModelProperty(value = "已出库装备数量")
private Integer sendedCount;
/**
* 已接收装备数量
*/
@ApiModelProperty(value = "已接收装备数量")
private Integer receiveCount;
/**
* 退回状态(1:维修成功出库待审核,2:维修成功出库审核失败,3:重新配发出库待审核,4:重新配发出库审核失败,5:退回中,5:送修方接收待审核,6:送修方接收审核失败,7:维修退回完成)
*/
@ApiModelProperty(value = "退回状态(1:维修成功出库待审核,2:维修成功出库审核失败,3:重新配发出库待审核,4:重新配发出库审核失败,5:退回中,5:送修方接收待审核,6:送修方接收审核失败,7:维修退回完成)")
private Integer backStatus;
/**
* 维修完成出库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配
*/
@ApiModelProperty(value = "维修完成出库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配")
private String backCheckDetail;
/**
* 维修完成出库检查结果
*/
@ApiModelProperty(value = "维修完成出库检查结果")
private String backCheckResult;
/**
* 维修完成接收入库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配
*/
@ApiModelProperty(value = "维修完成接收入库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配")
private String backReciveCheckDetail;
/**
* 维修完成接收入库检查结果
*/
@ApiModelProperty(value = "维修完成接收入库检查结果")
private String backReciveCheckResult;
/**
* 创建用户id
*/
@CreatedBy
@ApiModelProperty(value = "创建用户id")
private Integer createUserId;
/**
* 创建时间
*/
@CreatedDate
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新用户id
*/
@LastModifiedBy
@ApiModelProperty(value = "更新用户id")
private Integer updateUserId;
/**
* 更新时间
*/
@LastModifiedDate
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 删除标记(0:未删除,1:已删除)
*/
@ApiModelProperty(value = "删除标记(0:未删除,1:已删除)")
private Integer deleteTag = 0;
/**
* 签发人
*/
@ApiModelProperty(value = "签发人")
private String agent;
}
package com.tykj.dev.device.repair.subject.domin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
/**
* entity class for repair_bill
* 装备维修账单
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update repair_bill set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("装备维修账单")
public class RepairBill {
/**
* 主键id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(name = "主键id")
private Integer id;
/**
* 申请文号
*/
@ApiModelProperty(value = "申请文号")
private String applyNumber;
/**
* 批复文号
*/
@ApiModelProperty(value = "批复文号")
private String replayNumber;
/**
* 申请单位
*/
@ApiModelProperty(value = "申请单位")
private String sendUnit;
/**
* 维修单位
*/
@ApiModelProperty(value = "维修单位")
private String receiveUnit;
/**
* 维修状态
*/
@ApiModelProperty(value = "维修状态")
private Integer repairStatus;
/**
* 创建用户id
*/
@ApiModelProperty(value = "创建用户id")
@CreatedBy
private Integer createUserId;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@CreatedDate
private Date createTime;
/**
* 更新用户id
*/
@ApiModelProperty(value = "更新用户id")
@LastModifiedBy
private Integer updateUserId;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
@LastModifiedDate
private Date updateTime;
/**
* 删除标记(0:未删除,1:已删除)
*/
@ApiModelProperty(value = "删除标记(0:未删除,1:已删除)")
private Integer deleteTag = 0;
/**
* 申请人
*/
@ApiModelProperty(value = "申请人")
private String startUserA;
/**
* 申请确认人
*/
@ApiModelProperty(value = "申请确认人")
private String startUserB;
/**
* 维修经手人
*/
@ApiModelProperty(value = "维修经手人")
private String repairUserA;
/**
* 维修核验人
*/
@ApiModelProperty(value = "维修核验人")
private String repairUserB;
/**
* 维修单档案号
*/
@ApiModelProperty(value = "维修单档案号")
private String docNum;
}
package com.tykj.dev.device.repair.subject.domin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
/**
* entity class for repair_detail
* 装备维修账单
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update repair_detail set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("装备维修详情")
public class RepairDetail {
/**
* 主键id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(name = "主键id")
private Integer id;
/**
* 装备id
*/
@ApiModelProperty(value = "装备id")
private Integer deviceId;
/**
* 型号
*/
@ApiModelProperty(value = "型号")
private String model;
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String name;
/**
* 类型
*/
@ApiModelProperty(value = "类型")
private Integer type;
/**
* 装备序列号
*/
@ApiModelProperty(value = "装备序列号")
private String seqNumber;
/**
* rfid表面号
*/
@ApiModelProperty(value = "rfid表面号")
private String rfidSurfaceId;
/**
* 维修单id
*/
@ApiModelProperty(value = "维修单id")
private Integer deviceRepairBillId;
/**
* 所在单位
*/
@ApiModelProperty(value = "所在单位")
private String locationUnit;
/**
* 所属单位
*/
@ApiModelProperty(value = "所属单位")
private String ownUnit;
/**
* 维修状态
*/
@ApiModelProperty(value = "维修状态")
private Integer repairStatus;
/**
* 维修备注
*/
@ApiModelProperty(value = "维修备注")
private String remark;
/**
* 创建用户id
*/
@ApiModelProperty(value = "创建用户id")
@CreatedBy
private Integer createUserId;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@CreatedDate
private Date createTime;
/**
* 更新用户id
*/
@ApiModelProperty(value = "更新用户id")
@LastModifiedBy
private Integer updateUserId;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
@LastModifiedDate
private Date updateTime;
/**
* 删除标记(0:未删除,1:已删除)
*/
@ApiModelProperty(value = "删除标记(0:未删除,1:已删除)")
private Integer deleteTag =0;
}
package com.tykj.dev.device.repair.subject.domin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
/**
* entity class for repair_send_bill
* 装备维修账单
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@SQLDelete(sql = "update repair_send_bill set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("装备送修账单")
public class RepairSendBill {
/**
* 主键id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(name = "主键id")
private Integer id;
/**
* 维修标题
*/
@ApiModelProperty(value = "维修标题")
private String title;
/**
* 申请文号
*/
@ApiModelProperty(value = "申请文号")
private String applyNumber;
/**
* 批复文号
*/
@ApiModelProperty(value = "批复文号")
private String replayNumber;
/**
* 发件单位
*/
@ApiModelProperty(value = "发件单位")
private String sendUnit;
/**
* 收件单位
*/
@ApiModelProperty(value = "收件单位")
private String receiveUnit;
/**
* 配发时间
*/
@ApiModelProperty(value = "配发时间")
private java.util.Date sendTime;
/**
* 接收时间
*/
@ApiModelProperty(value = "接收时间")
private java.util.Date receiveTime;
/**
* 维修单id
*/
@ApiModelProperty(value = "维修单id")
private Integer deviceRepairBillId;
/**
* 发起维修经办人id(市A岗)
*/
@ApiModelProperty(value = "发起维修经办人id(市A岗)")
private Integer startUseraId;
/**
* 发起维修审核人id(市B岗)
*/
@ApiModelProperty(value = "发起维修审核人id(市B岗)")
private Integer startUserbId;
/**
* 维修接收单位经办人id(省A岗)
*/
@ApiModelProperty(value = "维修接收单位经办人id(省A岗)")
private Integer repairUseraId;
/**
* 维修接收单位审核人id(省B岗)
*/
@ApiModelProperty(value = "维修接收单位审核人id(省B岗)")
private Integer repairUserbId;
/**
* 维修状态(0:维修任务待审核,1:维修任务审核失败,2:维修装备送到上级中,3:上级接收维修装备待审核,4:上级接收维修装备审核失败,5:维修中,6:维修完成退回中,7:维修完成)
*/
@ApiModelProperty(value = "维修状态(0:维修任务待审核,1:维修任务审核失败,2:维修装备送到上级中,3:上级接收维修装备待审核,4:上级接收维修装备审核失败,5:维修中,6:维修完成退回中,7:维修完成)")
private Integer repairStatus;
@ApiModelProperty(value = "Ǵ作为分隔符,维修装备的主键id加备注,例如x1Ǵ备注1Ǵx2Ǵ备注2Ǵx,意为id为1的装备在维修,备注为备注1,id为2的装备在维修,备注为备注2")
private String repairDeviceDetail;
/**
* 送修装备出库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配
*/
@ApiModelProperty(value = "送修装备出库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配")
private String repairDeviceCheckDetail;
/**
* 送修装备出库检查结果
*/
@ApiModelProperty(value = "送修装备出库检查结果")
private String repairDeviceCheckResult;
/**
* 送修装备接收入库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配
*/
@ApiModelProperty(value = "送修装备接收入库详情(装备主键id+核对结果(0缺失1无误3不匹配,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的不匹配")
private String repairReciveCheckDetail;
/**
* 送修装备接收入库检查结果
*/
@ApiModelProperty(value = "送修装备接收入库检查结果")
private String repairReciveCheckResult;
/**
* 出库附件文件名
*/
@ApiModelProperty(value = "出库附件文件名")
private String fileName;
/**
* 出库附件文件地址URL
*/
@ApiModelProperty(value = "出库附件文件地址URL")
private String fileUrl;
/**
* 入库附件文件名
*/
@ApiModelProperty(value = "入库附件文件名")
private String receiveFileName;
/**
* 入库附件文件地址URL
*/
@ApiModelProperty(value = "入库附件文件地址URL")
private String receiveFileUrl;
/**
* 账单文件名
*/
@ApiModelProperty(value = "账单文件名")
private String billFileName;
/**
* 账单文件地址URL
*/
@ApiModelProperty(value = "账单文件地址URL")
private String billFileUrl;
/**
* 应出库装备数量
*/
@ApiModelProperty(value = "应出库装备数量")
private Integer sendingCount;
/**
* 已出库装备数量
*/
@ApiModelProperty(value = "已出库装备数量")
private Integer sendedCount;
/**
* 已接收装备数量
*/
@ApiModelProperty(value = "已接收装备数量")
private Integer receiveCount;
/**
* 创建用户id
*/
@CreatedBy
@ApiModelProperty(value = "创建用户id")
private Integer createUserId;
/**
* 创建时间
*/
@CreatedDate
@ApiModelProperty(value = "创建时间")
private java.util.Date createTime;
/**
* 更新用户id
*/
@LastModifiedBy
@ApiModelProperty(value = "更新用户id")
private Integer updateUserId;
/**
* 更新时间
*/
@LastModifiedDate
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
/**
* 删除标记(0:未删除,1:已删除)
*/
@ApiModelProperty(value = "删除标记(0:未删除,1:已删除)")
private Integer deleteTag = 0;
/**
* 签发人
*/
@ApiModelProperty(value = "签发人")
private String agent;
@ApiModelProperty(value = "申请人")
@Transient
private String startUserA;
@ApiModelProperty(value = "申请确认人")
@Transient
private String startUserB;
@ApiModelProperty(value = "维修经手人")
private String repairUserA;
@ApiModelProperty(value = "维修核验人")
@Transient
private String repairUserB;
}
package com.tykj.dev.device.repair.subject.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dengdiyi
*/
@Data
@ApiModel("维修装备详情类")
public class DeviceDetailVo {
@ApiModelProperty(value = "装备ID",example = "1")
private Integer deviceId;
@ApiModelProperty(value = "备注")
private String remark;
}
package com.tykj.dev.device.repair.subject.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("维修返回单存储类")
public class RepairBackBillSaveVo {
@ApiModelProperty(value = "任务Id")
private Integer taskId;
@ApiModelProperty(value = "工作Id")
private Integer jobId;
@ApiModelProperty(value = "退回发起人",example = "1")
private Integer startUseraId;
@ApiModelProperty(value = "退回确认人",example = "1")
private Integer startUserbId;
@ApiModelProperty(value = "接收单位",example = "市机要局")
private String receiveUnit;
@ApiModelProperty(value = "发起单位",example = "市机要局")
private String sendUnit;
@ApiModelProperty(value = "接收经手人",example = "1")
private Integer receiveUseraId;
@ApiModelProperty(value = "申请文号")
private String applyNumber;
@ApiModelProperty(value = "批复文号")
private String replayNumber;
@ApiModelProperty(value = "签发人")
private String agent;
@ApiModelProperty(value = "出库附件文件名")
private String fileName;
@ApiModelProperty(value = "出库附件文件地址URL")
private String fileUrl;
@ApiModelProperty(value = "应出库装备数量")
private Integer sendingCount;
@ApiModelProperty(value = "已出库装备数量")
private Integer sendedCount;
@ApiModelProperty(value = "退回装备出库详情(装备主键id+核对结果(0缺失1无误3新增,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的新增")
private String backCheckDetail;
@ApiModelProperty(value = "退回装备出库检查结果")
private String backCheckResult;
@ApiModelProperty(value = "维修装备详情列表")
private List<DeviceDetailVo> deviceList;
}
package com.tykj.dev.device.repair.subject.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("维修单存储类")
public class RepairBillSaveVo {
@ApiModelProperty(value = "发起申请人",example = "1")
private Integer startUseraId;
@ApiModelProperty(value = "发起确认人",example = "1")
private Integer startUserbId;
@ApiModelProperty(value = "维修单位",example = "市机要局")
private String receiveUnit;
@ApiModelProperty(value = "发起单位",example = "市机要局")
private String sendUnit;
@ApiModelProperty(value = "维修经手人",example = "1")
private Integer repairUseraId;
@ApiModelProperty(value = "申请文号")
private String applyNumber;
@ApiModelProperty(value = "批复文号")
private String replayNumber;
@ApiModelProperty(value = "签发人")
private String agent;
@ApiModelProperty(value = "出库附件文件名")
private String fileName;
@ApiModelProperty(value = "出库附件文件地址URL")
private String fileUrl;
@ApiModelProperty(value = "维修经手人")
private String repairUserA;
@ApiModelProperty(value = "应出库装备数量")
private Integer sendingCount;
@ApiModelProperty(value = "已出库装备数量")
private Integer sendedCount;
@ApiModelProperty(value = "送修装备出库详情(装备主键id+核对结果(0缺失1无误3新增,字符x作为分隔符)),例如10x21x32,意为主键id为1的装备缺失,为2的无误,为3的新增")
private String repairDeviceCheckDetail;
@ApiModelProperty(value = "送修装备出库检查结果")
private String repairDeviceCheckResult;
@ApiModelProperty(value = "维修装备详情列表")
private List<DeviceDetailVo> deviceList;
@ApiModelProperty(value = "任务Id")
private Integer taskId;
}
package com.tykj.dev.device.repair.subject.vo;
import com.tykj.dev.misc.base.CustomPage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author dengdiyi
*/
@Data
@ApiModel("维修单查询")
public class RepairBillSelectVo extends CustomPage {
@ApiModelProperty(value = "申请人",example = "1")
private Integer startUseraId;
@ApiModelProperty(value = "申请确认人",example = "1")
private Integer startUserbId;
@ApiModelProperty(value = "维修单位",example = "市机要局")
private String receiveUnit;
@ApiModelProperty(value = "发起单位",example = "市机要局")
private String sendUnit;
@ApiModelProperty(value = "维修经手人",example = "1")
private String repairUseraId;
@ApiModelProperty(value = "维修核验人",example = "1")
private String repairUserbId;
@ApiModelProperty(value = "模糊查询关键字",example = "测试")
public String content;
@ApiModelProperty(value = "开始时间",example = "2020-10-10 01:10:10")
public Date startTime;
@ApiModelProperty(value = "结束时间",example = "2020-10-10 01:10:10")
public Date endTime;
}
package com.tykj.dev.device.repair.subject.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dengdiyi
*/
@Data
@ApiModel("维修审核类")
public class RepairConfirmVo {
@ApiModelProperty(value = "任务Id")
private Integer taskId;
@ApiModelProperty(name = "需要修改的状态",example = "0",value = "0为审核通过,1为驳回")
private Integer status;
}
package com.tykj.dev.device.repair.subject.vo;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.repair.subject.domin.RepairBill;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dengdiyi
*/
@Data
@ApiModel("维修送回修好装备返回类")
public class RepairOutPutDeviceVo {
@ApiModelProperty(name = "维修单")
private RepairBill repairBill;
@ApiModelProperty(name = "退回装备列表")
private List<DeviceLibrary> deviceLibraries;
}
package com.tykj.dev.device.repair.subject.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dengdiyi
*/
@Data
@ApiModel("配发接收类")
public class RepairReceiveVo {
@ApiModelProperty(value = "接收单位B岗")
private Integer receiveUserbId;
@ApiModelProperty(value = "任务Id")
private Integer taskId;
@ApiModelProperty(value = "配发单附件名字")
private String billFileName;
@ApiModelProperty(value = "配发单附件URL")
private String billFileUrl;
@ApiModelProperty(value = "入库附件名字")
private String receiveFileName;
@ApiModelProperty(value = "入库附件URL")
private String receiveFileUrl;
@ApiModelProperty(value = "接收入库数量")
private Integer receiveCount;
@ApiModelProperty(value = "接收入库检查详情")
private String receiveCheckDetail;
@ApiModelProperty(value = "接收入库检查结果")
private String receiveCheckResult;
}
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论