提交 6dd5d30f authored 作者: zjm's avatar zjm

合并分支 'master' 到 'dev'

Master 查看合并请求 !40
package com.tykj.dev.device.repair.controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.repair.service.HistoryPepairService;
import com.tykj.dev.device.repair.subject.vo.HistorySelectVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
/**
* @author zjm
* @version 1.0.0
* @ClassName HistoryPepairContriller.java
* @Description TODO
* @createTime 2021年09月17日 10:21:00
*/
@RestController
@RequestMapping(value = "/historyRepair")
@AutoDocument
@Api(tags = "历史维修模块", description = "历史维修模块")
public class HistoryPepairContriller {
@Autowired
HistoryPepairService historyPepairService;
@ApiOperation(value = "采集文件")
@GetMapping("/read")
public ResponseEntity test(){
historyPepairService.toDb();
return ResponseEntity.ok("ok");
}
@ApiOperation(value = "转数据库")
@GetMapping("/todb")
public ResponseEntity toDb(){
historyPepairService.toDb2();
return ResponseEntity.ok("ok");
}
@ApiOperation(value = "历史数据查询接口")
@PostMapping("/select/bill")
public ResponseEntity findByPageHistoryRepairBill(@RequestBody HistorySelectVo historySelectVo){
return ResponseEntity.ok(historyPepairService.findByPageHistoryRepairBill(historySelectVo));
}
}
package com.tykj.dev.device.repair.repository;
import com.tykj.dev.device.repair.subject.domin.HistoryRepairBill;
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 HistoryRepairBillDao.java
* @Description TODO
* @createTime 2021年09月17日 08:34:00
*/
public interface HistoryRepairBillDao extends JpaRepository<HistoryRepairBill, Integer>, JpaSpecificationExecutor<HistoryRepairBill> {
}
package com.tykj.dev.device.repair.service;
import com.tykj.dev.device.repair.subject.domin.HistoryRepairBill;
import com.tykj.dev.device.repair.subject.vo.HistorySelectVo;
import org.springframework.data.domain.Page;
public interface HistoryPepairService {
void toDb();
void toDb2();
Page<HistoryRepairBill> findByPageHistoryRepairBill(HistorySelectVo historySelectVo);
}
package com.tykj.dev.device.repair.service.impl;
import com.fasterxml.jackson.core.type.TypeReference;
import com.github.wenhao.jpa.PredicateBuilder;
import com.github.wenhao.jpa.Specifications;
import com.tykj.dev.device.file.entity.FileRet;
import com.tykj.dev.device.file.service.FilesUtil;
import com.tykj.dev.device.repair.repository.HistoryRepairBillDao;
import com.tykj.dev.device.repair.service.HistoryPepairService;
import com.tykj.dev.device.repair.subject.domin.HistoryRepairBill;
import com.tykj.dev.device.repair.subject.vo.HistorySelectVo;
import com.tykj.dev.misc.utils.JacksonUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.util.ResourceUtils;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
* @author zjm
* @version 1.0.0
* @ClassName HistoryPepairServiceImpl.java
* @Description TODO
* @createTime 2021年09月17日 08:43:00
*/
@Service
@Slf4j
public class HistoryPepairServiceImpl implements HistoryPepairService {
@Autowired
HistoryRepairBillDao historyRepairBillDao;
@Override
public void toDb() {
//
}
@Override
public void toDb2() {
try {
List<String> list = Files.readAllLines(Paths.get(ResourceUtils.getURL("classpath:").getPath()+"file.txt"));
List<HistoryRepairBill> historyRepairBills = list
.stream()
.map(HistoryRepairBill::toDb)
.collect(Collectors.toList());
historyRepairBillDao.saveAll(historyRepairBills);
} catch (IOException e) {
log.error("[toDb2] 找不到文件路径");
}
}
@Override
public Page<HistoryRepairBill> findByPageHistoryRepairBill(HistorySelectVo historySelectVo) {
return historyRepairBillDao.findAll(getSpecificationHistoryRepairBill(historySelectVo),historySelectVo.getPageable()).map(historyRepairBill -> {
historyRepairBill.setFileRetList(FilesUtil.stringFileToList(historyRepairBill.getFileRets()));
return historyRepairBill;
});
}
private Specification<HistoryRepairBill> getSpecificationHistoryRepairBill(HistorySelectVo historySelectVo) {
PredicateBuilder<HistoryRepairBill> predicateBuilder = Specifications.and();
if (historySelectVo.getDocNumDim() != null) {
predicateBuilder.like("docNo","%"+historySelectVo.getDocNumDim()+"%" );
}
if (historySelectVo.getTimeDim() != null) {
predicateBuilder.like("applyTime","%"+historySelectVo.getTimeDim()+"%");
}
return predicateBuilder.build();
}
}
package com.tykj.dev.device.repair.subject.domin;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference;
import com.tykj.dev.device.file.entity.FileRet;
import com.tykj.dev.device.repair.repairApp;
import com.tykj.dev.misc.utils.JacksonUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.boot.SpringApplication;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
/**
* @author zjm
* @version 1.0.0
* @ClassName HistoryRepairBill.java
* @Description TODO
* @createTime 2021年09月16日 21:57:00
*/
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("装备维修完成退回账单")
public class HistoryRepairBill {
@Id
@GeneratedValue
@ApiModelProperty(name = "主键id")
@JsonProperty("id")
private Integer id;
@JsonProperty("title")
private String title;
@JsonProperty("docNo")
private String docNo;
@JsonProperty("applyUnit")
private String applyUnit;
@JsonProperty("applyUser")
private String applyUser;
@JsonProperty("applyTime")
private String applyTime;
@JsonProperty("applyConfirmUser")
private String applyConfirmUser;
@JsonProperty("handleUnit")
private String handleUnit;
@JsonProperty("handleUser")
private String handleUser;
@JsonProperty("handleConfirmUser")
private String handleConfirmUser;
@JsonProperty("handleTime")
private String handleTime;
@JsonProperty("status")
private Integer status;
@JsonProperty("total")
private Integer total;
@JsonProperty("repairTotal")
private String repairTotal;
@JsonProperty("billFileid")
private Integer billFileid;
@JsonProperty("receiptNum")
private String receiptNum;
@JsonProperty("annex")
private String annex;
@JsonProperty("applyUnitName")
private String applyUnitName;
@JsonProperty("applyUserName")
private String applyUserName;
@JsonProperty("applyConfirmUserName")
private String applyConfirmUserName;
@JsonProperty("handleUnitName")
private String handleUnitName;
@JsonProperty("handleUserName")
private String handleUserName;
@JsonProperty("handleConfirmUserName")
private String handleConfirmUserName;
@JsonProperty("model")
private String model;
@JsonProperty("serNum")
private Integer serNum;
@JsonProperty("proNum")
private Integer proNum;
@JsonProperty("docNoLike")
private String docNoLike;
@JsonProperty("applyTimeFrom")
private String applyTimeFrom;
@JsonProperty("applyTimeTo")
private Date applyTimeTo;
@JsonProperty("fromMe")
private String fromMe;
@JsonProperty("toMe")
private String toMe;
@JsonProperty("isHandled")
private String isHandled;
@JsonProperty("isRecycle")
private String isRecycle;
@JsonProperty("comIds")
private String comIds;
@Column(name = "file_rets",columnDefinition = "text")
private String fileRets;
@Transient
private List<FileRet> fileRetList;
public String toDo(){
return JacksonUtil.toJSon(this);
}
public static HistoryRepairBill toDb(String data){
return JacksonUtil.readValue(data,HistoryRepairBill.class);
}
}
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.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author zjm
* @version 1.0.0
* @ClassName HistorySelectVo.java
* @Description TODO
* @createTime 2021年09月17日 10:01:00
*/
@Data
@ApiModel("历史维修单查询接口")
@AllArgsConstructor
@NoArgsConstructor
public class HistorySelectVo extends CustomPage {
@ApiModelProperty(name = "时间条件")
private String timeDim;
@ApiModelProperty(name = "批复文号")
private String docNumDim;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论