Browse Source

1.更新bug

master
xia 3 years ago
parent
commit
e477dfd3c2
  1. 27
      archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java
  2. 8
      archives/src/main/java/com/storeroom/modules/archives/controller/StorageController.java
  3. 3
      archives/src/main/java/com/storeroom/modules/archives/domain/vo/BorrowBillDetailsVO.java
  4. 18
      archives/src/main/java/com/storeroom/modules/archives/domain/vo/StorageDetailesVO.java
  5. 9
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java
  6. 13
      archives/src/main/java/com/storeroom/modules/archives/repository/BorrowArchivesRepository.java
  7. 7
      archives/src/main/java/com/storeroom/modules/archives/repository/BorrowerRepository.java
  8. 2
      archives/src/main/java/com/storeroom/modules/archives/repository/StorageDetailsLogRepository.java
  9. 2
      archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java
  10. 2
      archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java
  11. 7
      archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java
  12. 9
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java
  13. 5
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java
  14. 13
      archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java
  15. 49
      archives/src/main/java/com/storeroom/modules/common/ExcelUtil.java

27
archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java

@ -1,10 +1,13 @@
package com.storeroom.modules.archives.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.modules.archives.domain.Borrower;
import com.storeroom.modules.archives.domain.vo.BorrowBillDetailsVO;
import com.storeroom.modules.archives.service.ArchivesTagService;
import com.storeroom.modules.archives.service.BorrowService;
import com.storeroom.modules.archives.service.dto.BorrowerDTO;
import com.storeroom.modules.archives.service.dto.RegisterBorrowDTO;
import com.storeroom.modules.common.ExcelUtil;
import com.storeroom.utils.ApiResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -13,8 +16,10 @@ import org.springframework.data.domain.Pageable;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@RestController
@ -181,9 +186,9 @@ public class BorrowController {
@GetMapping("/initBorrowLog")
public ApiResponse<Object> initBorrowLog(
String orderNo,String borrowerName,String phone,String archiveNo,String folderLocationDetails,
String caseName,String barcode,String tid,Integer borrowType,Pageable page
String caseName,String barcode,String tid,Integer borrowType,String maintitle,Pageable page
){
return ApiResponse.success(borrowService.initBorrowLog(orderNo,borrowerName,phone,archiveNo,folderLocationDetails,caseName,barcode,tid,borrowType,page));
return ApiResponse.success(borrowService.initBorrowLog(orderNo,borrowerName,phone,archiveNo,folderLocationDetails,caseName,barcode,tid,borrowType,maintitle,page));
}
@ApiOperation("借阅者列表")
@ -207,7 +212,23 @@ public class BorrowController {
public ApiResponse<Object> deleteBorrower(
@Validated @RequestBody List<String> borrowersId
){
return ApiResponse.success(borrowService.deleteBorrower(borrowersId));
return ApiResponse.success(borrowService.delBorrower(borrowersId));
}
@ApiOperation("导出借阅信息")
@AnonymousGetMapping("/exportBorrow")
@ResponseBody
public void exportBorrow(
HttpServletResponse response,
@RequestParam("orderNos") List<String> orderNos
){
List<BorrowBillDetailsVO> bills = new ArrayList<>();
for(String orderNo:orderNos){
bills.add(borrowService.initBillDetailsByOrderNo(orderNo));
}
ExcelUtil.createBorrowerExcel("测试",bills);
}
}

8
archives/src/main/java/com/storeroom/modules/archives/controller/StorageController.java

@ -306,6 +306,14 @@ public class StorageController {
}
@ApiOperation("出入库详情")
@GetMapping("/initStorageDetailes")
public ApiResponse<Object> initStorageDetailes(
String caseId
){
return ApiResponse.success(caseService.initStorageDetailes(caseId));
}
@ApiOperation("出入库记录详情")
@GetMapping("/initStorageLogDetailes")
public ApiResponse<Object> initStorageLogDetailes(
Integer logId

3
archives/src/main/java/com/storeroom/modules/archives/domain/vo/BorrowBillDetailsVO.java

@ -3,6 +3,7 @@ package com.storeroom.modules.archives.domain.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.storeroom.modules.archives.domain.BorrowArchives;
import com.storeroom.modules.archives.domain.Borrower;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -51,6 +52,8 @@ public class BorrowBillDetailsVO {
@JsonProperty("create_time")
private Timestamp createTime;
private Borrower borrower;
@JSONField(name="borrowArchives")
@JsonProperty("borrowArchives")
private List<BorrowArchives> borrowArchives;

18
archives/src/main/java/com/storeroom/modules/archives/domain/vo/StorageDetailesVO.java

@ -0,0 +1,18 @@
package com.storeroom.modules.archives.domain.vo;
import com.storeroom.modules.archives.domain.ArchivesCase;
import com.storeroom.modules.archives.domain.ArchivesSummary;
import com.storeroom.modules.archives.service.dto.CaseDTO;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class StorageDetailesVO {
private ArchivesCase archivesCase;
private List<ArchivesSummary> archivesSummaries;
}

9
archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java

@ -61,4 +61,13 @@ public interface ArchivesSummaryRepository extends JpaRepository<ArchivesSummary
value = "select * from archives_summary where archives_id in (select archives_id from borrow_archives where borrow_type != 4 and archives_id in (?1))")
List<ArchivesSummary> isExistBorrow(List<String> archivesId);
//根据盒获取档案信息
@Query(nativeQuery = true,
value = "select * from archives_summary asy " +
"inner join archives_case_cartoning acc on asy.archives_id = acc.parent_id " +
"where acc.case_id = ?1 ")
List<ArchivesSummary> findByCaseIds(String caseId);
ArchivesSummary findByTagNo(String tid);
}

13
archives/src/main/java/com/storeroom/modules/archives/repository/BorrowArchivesRepository.java

@ -71,10 +71,10 @@ public interface BorrowArchivesRepository extends JpaRepository<BorrowArchives,
"and if(?6 is null,1=1,ba.case_name like ?6) " +
"and if(?7 is null,1=1,ba.barcode like ?7) " +
"and if(?8 is null,1=1,ba.tid like ?8) ",
value = "select ba.id as id,bba.id as orderNo,ba.category_name as categoryName,ba.archive_no as archiveNo,ba.maintitle," +
value = "select ba.id as id,bbl.id as orderNo,ba.category_name as categoryName,ba.archive_no as archiveNo,ba.maintitle," +
"ba.case_name as caseName,ba.folder_location_details as folderLocationDetails,br.borrower_name as borrowerName," +
"bbl.borrow_start as borrowStart,bbl.borrow_end as borrowEnd,bbl.purpose,case when bbl.borrow_end<DATE(now()) then '逾期' " +
"when bbl.borrow_end>=DATE(now()) then '待归还' else '未知' end as borrowType,bbl.create_by as createBy " +
"when bbl.borrow_end>=DATE(now()) then '待归还' else '未知' end as borrowType,bbl.create_by as createBy,bbl.create_time as createTime " +
"from borrow_archives ba " +
"inner join borrow_bill_archives bba on ba.id = bba.ba_id " +
"inner join borrow_bill bbl on bba.bill_id = bbl.id " +
@ -106,10 +106,12 @@ public interface BorrowArchivesRepository extends JpaRepository<BorrowArchives,
"and if(?6 is null,1=1,ba.case_name like ?6) " +
"and if(?7 is null,1=1,ba.barcode like ?7) " +
"and if(?8 is null,1=1,ba.tid like ?8) " +
"and if(?10 is null,1=1,ba.maintitle like ?10) " +
"and if(?9 is null,1=1,if(?9 = 5,bbl.borrow_end < DATE(now()),if(?9 = 4,bbl.borrow_type = ?9,ba.borrow_type = ?9))) ",
value = "select ba.id as id,bba.id as orderNo,ba.category_name as categoryName,ba.archive_no as archiveNo,ba.maintitle," +
value = "select ba.id as id,bbl.id as orderNo,ba.category_name as categoryName,ba.archive_no as archiveNo,ba.maintitle," +
"ba.case_name as caseName,ba.folder_location_details as folderLocationDetails,br.borrower_name as borrowerName," +
"bbl.borrow_start as borrowStart,bbl.borrow_end as borrowEnd,bbl.purpose,bbl.create_by as createBy," +
"bbl.borrow_start as borrowStart,bbl.borrow_end as borrowEnd,bbl.purpose,bbl.create_by as createBy,bbl.create_time as createTime," +
"ba.end_time as endTime," +
"CASE WHEN ba.borrow_type = 1 then '待登记' " +
"WHEN ba.borrow_type = 2 then '待借阅' " +
"WHEN ba.borrow_type = 3 && bbl.borrow_end < DATE(now()) THEN '逾期' " +
@ -128,9 +130,10 @@ public interface BorrowArchivesRepository extends JpaRepository<BorrowArchives,
"and if(?6 is null,1=1,ba.case_name like ?6) " +
"and if(?7 is null,1=1,ba.barcode like ?7) " +
"and if(?8 is null,1=1,ba.tid like ?8) " +
"and if(?10 is null,1=1,ba.maintitle like ?10) " +
"and if(?9 is null,1=1,if(?9 = 5,bbl.borrow_end < DATE(now()),if(?9 = 4,bbl.borrow_type = ?9,ba.borrow_type = ?9))) "+
"order by bbl.create_time desc ")
Page<Map<String,Object>> initBorrowLog(String orderNo, String borrowerName, String phone, String archiveNo,String folderLocationDetails,
String caseName, String barcode, String tid,Integer borrowType, Pageable page);
String caseName, String barcode, String tid,Integer borrowType,String maintitle, Pageable page);
}

7
archives/src/main/java/com/storeroom/modules/archives/repository/BorrowerRepository.java

@ -11,8 +11,11 @@ import java.util.List;
public interface BorrowerRepository extends JpaRepository<Borrower, String> {
@Query("from Borrower where id = ?1 ")
Borrower findByBorrowerId(String borrowerId);
@Query(nativeQuery = true,
value = "select * from borrower where borrower_name like ?1 or borrower_name_py like ?1 or phone like ?1 ")
value = "select * from borrower where is_delete = false and (borrower_name like ?1 or borrower_name_py like ?1 or phone like ?1) ")
List<Borrower> findBorrowerByQuery(String query);
@Query("from Borrower where borrowerName = ?1 and phone = ?2 ")
@ -26,6 +29,6 @@ public interface BorrowerRepository extends JpaRepository<Borrower, String> {
@Modifying
@Query("update Borrower set isDelete = true where id in ?1 ")
void deleteAllByIds(List<String> borrowerIds);
void delAllByIds(List<String> borrowerIds);
}

2
archives/src/main/java/com/storeroom/modules/archives/repository/StorageDetailsLogRepository.java

@ -17,7 +17,7 @@ public interface StorageDetailsLogRepository extends JpaRepository<StorageDetail
"asy.maintitle,asy.security_class as securityClass,asy.department,ace.case_name as caseName," +
"ace.folder_location_details as folderLocationDetails from archives_case ace " +
"inner join archives_case_cartoning acc on ace.id = acc.case_id " +
"inner join archives_summary asy on acc.archives_id = asy.archives_id " +
"inner join archives_summary asy on acc.parent_id = asy.archives_id " +
"where ace.id = ?1")
List<Map<String,Object>> inCaseArchives(String caseIds);

2
archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java

@ -72,6 +72,8 @@ public interface ArchivesCaseService {
//出入库记录
Object initStorageLogList(Integer storageType, String caseName,String tid,String barcode, Pageable page);
//出入库详情
Object initStorageDetailes(String caseId);
//出入库记录详情
Object initStorageLogDetailes(Integer logId);
//根据id集合获取出入库列表
List<StorageLog> initStorageLogList(List<Integer> logs);

2
archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java

@ -50,4 +50,6 @@ public interface ArchivesService {
String getcategoryAllParentsId(String categoryId);
//根据层架位id判断是否被占用
boolean isShelfOccupy(String shelfId);
//根据标签id获取档案基本信息
ArchivesSummary findArchivesByTid(String tid);
}

7
archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java

@ -1,6 +1,7 @@
package com.storeroom.modules.archives.service;
import com.storeroom.modules.archives.domain.Borrower;
import com.storeroom.modules.archives.domain.vo.BorrowBillDetailsVO;
import com.storeroom.modules.archives.service.dto.BorrowerDTO;
import org.springframework.data.domain.Pageable;
@ -27,7 +28,7 @@ public interface BorrowService {
//借出确认列表
Object initWaitBorrowList(String billNo,String borrowerName,String phone,Pageable page);
//根据单据获取详情信息
Object initBillDetailsByOrderNo(String orderNo);
BorrowBillDetailsVO initBillDetailsByOrderNo(String orderNo);
//根据单据号查询借阅档案信息
Object initArchivesByOrderNo(String orderNo);
//重新登记
@ -51,13 +52,13 @@ public interface BorrowService {
Object archivesReturnConfirm(List<String> rbIds);
//初始化借还记录
Object initBorrowLog(String orderNo,String borrowerName,String phone,String archiveNo,String folderLocationDetails,
String caseName,String barcode,String tid,Integer borrowType,Pageable page);
String caseName,String barcode,String tid,Integer borrowType,String maintitle,Pageable page);
//初始化借阅人列表
Object initBorrower(String query,String phone,Pageable page);
//编辑借阅者信息
Object editBorrower(BorrowerDTO dto);
//批量删除借阅者
Object deleteBorrower(List<String> borrowerIds);
Object delBorrower(List<String> borrowerIds);
}

9
archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java

@ -3,6 +3,7 @@ package com.storeroom.modules.archives.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.storeroom.modules.archives.domain.*;
import com.storeroom.modules.archives.domain.vo.StorageDetailesVO;
import com.storeroom.modules.archives.repository.*;
import com.storeroom.modules.archives.domain.ArchivesCase;
import com.storeroom.modules.archives.service.ArchivesCaseService;
@ -688,6 +689,14 @@ public class ArchivesCaseServiceImpl implements ArchivesCaseService {
return PageUtil.toPage(storageLogRepository.initStorageLogList(storageType,caseName,tid,barcode,page));
}
@Override
public Object initStorageDetailes(String caseId) {
StorageDetailesVO vo = new StorageDetailesVO();
vo.setArchivesCase(caseRepository.findCaseById(caseId));
vo.setArchivesSummaries(archivesSummaryRepository.findByCaseIds(caseId));
return vo;
}
@Override
public Object initStorageLogDetailes(Integer logId) {
return storageDetailsLogRepository.findAllByLogId(logId);

5
archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java

@ -933,4 +933,9 @@ public class ArchivesServiceImpl implements ArchivesService {
Integer count = archivesSummaryRepository.countAllByShelfId(shelfId);
return count==0 ? true:false;
}
@Override
public ArchivesSummary findArchivesByTid(String tid) {
return archivesSummaryRepository.findByTagNo(tid);
}
}

13
archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java

@ -114,10 +114,11 @@ public class BorrowServiceImpl implements BorrowService {
}
@Override
public Object initBillDetailsByOrderNo(String orderNo) {
public BorrowBillDetailsVO initBillDetailsByOrderNo(String orderNo) {
BorrowBillDetailsVO vo = new BorrowBillDetailsVO();
BorrowBill bill = borrowBillRepository.findBillById(orderNo);
BeanUtils.copyProperties(bill,vo);
vo.setBorrower(borrowerRepository.findByBorrowerId(bill.getBorrowerId()));
vo.setBorrowArchives(borrowArchivesRepository.initArchivesByOrderNo(orderNo));
return vo;
}
@ -225,7 +226,7 @@ public class BorrowServiceImpl implements BorrowService {
}
@Override
public Object initBorrowLog(String orderNo, String borrowerName, String phone, String archiveNo, String folderLocationDetails, String caseName, String barcode, String tid, Integer borrowType, Pageable page) {
public Object initBorrowLog(String orderNo, String borrowerName, String phone, String archiveNo, String folderLocationDetails, String caseName, String barcode, String tid, Integer borrowType,String maintitle, Pageable page) {
orderNo = StringUtils.isEmpty(orderNo) ? null : "%"+ orderNo +"%";
borrowerName = StringUtils.isEmpty(borrowerName) ? null : "%"+ borrowerName +"%";
phone = StringUtils.isEmpty(phone) ? null : "%"+ phone +"%";
@ -234,8 +235,9 @@ public class BorrowServiceImpl implements BorrowService {
caseName = StringUtils.isEmpty(caseName) ? null : "%"+ caseName +"%";
barcode = StringUtils.isEmpty(barcode) ? null : "%"+ barcode +"%";
tid = StringUtils.isEmpty(tid) ? null : "%"+ tid +"%";
maintitle = StringUtils.isEmpty(maintitle) ? null : "%"+ maintitle +"%";
return PageUtil.toPage(borrowArchivesRepository.initBorrowLog(orderNo,borrowerName,phone,archiveNo
,folderLocationDetails,caseName,barcode,tid,borrowType,page));
,folderLocationDetails,caseName,barcode,tid,borrowType,maintitle,page));
}
@Override
@ -259,6 +261,7 @@ public class BorrowServiceImpl implements BorrowService {
}
borrower.setBorrowerName(dto.getBorrowerName());
borrower.setBorrowerNamePy(ChinesePinyinUtil.getPinYinHeadChar(dto.getBorrowerName()));
borrower.setPhone(dto.getPhone());
borrower.setDepartment(dto.getDepartment());
borrower.setCardType(dto.getCardType());
borrower.setIdcard(dto.getIdcard());
@ -268,8 +271,8 @@ public class BorrowServiceImpl implements BorrowService {
@Override
@Transactional
public Object deleteBorrower(List<String> borrowerIds) {
borrowerRepository.deleteAllByIds(borrowerIds);
public Object delBorrower(List<String> borrowerIds) {
borrowerRepository.delAllByIds(borrowerIds);
return borrowerIds.size();
}

49
archives/src/main/java/com/storeroom/modules/common/ExcelUtil.java

@ -1,13 +1,17 @@
package com.storeroom.modules.common;
import com.storeroom.modules.archives.domain.vo.BorrowBillDetailsVO;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.xssf.usermodel.*;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;
public class ExcelUtil {
@ -60,6 +64,51 @@ public class ExcelUtil {
return wb;
}
public static XSSFWorkbook createBorrowerExcel(String fileName, List<BorrowBillDetailsVO> bills){
// 创建一个工作薄
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建一个工作表
XSSFSheet sheet = workbook.createSheet(fileName);
// 设置表头字体格式
XSSFFont headersFont = workbook.createFont();
headersFont.setColor(new XSSFColor(java.awt.Color.DARK_GRAY));
headersFont.setFontHeightInPoints((short) 14);
headersFont.setBold(true);
// 设置正文字体格式
XSSFFont dataSetFont = workbook.createFont();
dataSetFont.setColor(new XSSFColor(java.awt.Color.BLACK));
dataSetFont.setBold(false);
// 创建表头样式
XSSFCellStyle headersStyle = workbook.createCellStyle();
headersStyle.setBorderTop(BorderStyle.THIN);
headersStyle.setBorderBottom(BorderStyle.THIN);
headersStyle.setBorderLeft(BorderStyle.THIN);
headersStyle.setBorderRight(BorderStyle.THIN);
headersStyle.setFont(headersFont);
// 表头内容对齐方式居中
headersStyle.setAlignment(HorizontalAlignment.CENTER);
// 创建文本样式
XSSFCellStyle textStyle = workbook.createCellStyle();
textStyle.setBorderBottom(BorderStyle.THIN);
textStyle.setBorderRight(BorderStyle.THIN);
textStyle.setBorderLeft(BorderStyle.THIN);
textStyle.setFont(dataSetFont);
// 数据内容对齐方式居中
textStyle.setAlignment(HorizontalAlignment.CENTER);
//
int index = 0;
return workbook;
}
//发送响应流方法
public static void setResponseHeader(HttpServletResponse response, String fileName) {
try {

Loading…
Cancel
Save