Browse Source

1.新增盘点对比

master
xia 3 years ago
parent
commit
70c0d3efe6
  1. 38
      archives/src/main/java/com/storeroom/modules/archives/controller/ArrangeController.java
  2. 8
      archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java
  3. 27
      archives/src/main/java/com/storeroom/modules/archives/controller/RFIDController.java
  4. 8
      archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBill.java
  5. 46
      archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillData.java
  6. 10
      archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillDetails.java
  7. 17
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDataRepository.java
  8. 60
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDetailsRepository.java
  9. 13
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillRepository.java
  10. 7
      archives/src/main/java/com/storeroom/modules/archives/repository/BorrowArchivesRepository.java
  11. 17
      archives/src/main/java/com/storeroom/modules/archives/service/ArrangeService.java
  12. 2
      archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java
  13. 16
      archives/src/main/java/com/storeroom/modules/archives/service/dto/RFIDBorrowOkDTO.java
  14. 82
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArrangeServiceImpl.java
  15. 7
      archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java

38
archives/src/main/java/com/storeroom/modules/archives/controller/ArrangeController.java

@ -6,11 +6,9 @@ import com.storeroom.utils.ApiResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.validation.annotation.Validated;
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.*;
@RestController
@RequiredArgsConstructor
@ -28,4 +26,36 @@ public class ArrangeController {
return ApiResponse.success(arrangeService.addArrange(dto));
}
@ApiOperation("盘点列表")
@GetMapping("/initArrangeList")
public ApiResponse<Object> initArrangeList(
Integer checkState, String region, String orderNo, Pageable page
){
return ApiResponse.success(arrangeService.initArrangeList(checkState,region,orderNo,page));
}
@ApiOperation("查看盘点单信息")
@GetMapping("/getArrange")
public ApiResponse<Object> getArrange(
String orderNo
){
return ApiResponse.success(arrangeService.getArrange(orderNo));
}
@ApiOperation("查看盘点单内详细信息")
@GetMapping("/getArrangeDetailes")
public ApiResponse<Object> getArrangeDetailes(
String orderNo,String checkResult,Pageable page
){
return ApiResponse.success(arrangeService.getArrangeDetailes(orderNo,checkResult,page));
}
@ApiOperation("新增盘点")
@PostMapping("/settlement")
public ApiResponse<Object> settlement(
@Validated @RequestBody String orderId
){
return ApiResponse.success(arrangeService.settlement(orderId));
}
}

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

@ -115,6 +115,14 @@ public class BorrowController {
return ApiResponse.success(borrowService.initWaitBorrowList(orderNo,borrowerName,phone,page));
}
@ApiOperation("借阅档案异常处理")
@PostMapping("/borrowException")
public ApiResponse<Object> borrowException(
@Validated @RequestBody List<String> baIds
){
return ApiResponse.success(borrowService.borrowException(baIds));
}
@ApiOperation("根据单据查看详情")
@GetMapping("/initBillDetailsByOrderNo")
public ApiResponse<Object> initBillDetailsByOrderNo(

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

@ -6,8 +6,11 @@ import com.alibaba.fastjson.JSONObject;
import com.google.common.base.Strings;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.modules.archives.domain.ArchivesCheckBillData;
import com.storeroom.modules.archives.service.ArchivesTagService;
import com.storeroom.modules.archives.service.ArrangeService;
import com.storeroom.modules.archives.service.BorrowService;
import com.storeroom.modules.archives.service.dto.RFIDBorrowOkDTO;
import com.storeroom.modules.device.service.DeviceService;
import com.storeroom.modules.device.service.DeviceSpecParamService;
import com.storeroom.modules.device.service.dto.DeviceSpecParamDto;
@ -47,6 +50,7 @@ public class RFIDController {
private final DeviceSpecParamService deviceSpecParamService;
private final ArchivesTagService archivesTagService;
private final BorrowService borrowService;
private final ArrangeService arrangeService;
@ApiOperation("读取epc和Tid号")
@GetMapping("/ReadEpc")
@ -277,9 +281,10 @@ public class RFIDController {
@ApiOperation("借出确认")
@AnonymousPostMapping("/billBorrowConfirm")
public ApiResponse<Object> billBorrowConfirm(
@Validated @RequestBody List<String> orderNos
@Validated @RequestBody RFIDBorrowOkDTO dto
){
return ApiResponse.success(borrowService.billBorrowConfirm(orderNos));
borrowService.borrowException(dto.getRbIds());
return ApiResponse.success(borrowService.billBorrowConfirm(dto.getOrderNos()));
}
@ApiOperation("归还确认")
@ -298,4 +303,22 @@ public class RFIDController {
return ApiResponse.success(borrowService.initBillDetailsByOrderNo(orderNo));
}
@ApiOperation("根据盘点单号获取盘点基本信息")
@AnonymousPostMapping("/findArrangeDetailsByOrderNo")
public ApiResponse<Object> findArrangeDetailsByOrderNo(
String orderNo
){
return ApiResponse.success(arrangeService.findArrangeDetailsByOrderNo(orderNo));
}
@ApiOperation("手持机提交盘点数据")
@AnonymousPostMapping("/arrangeDataCommit")
public ApiResponse<Object> arrangeDataCommit(
List<ArchivesCheckBillData> datas
){
return ApiResponse.success(arrangeService.addArrangeData(datas));
}
}

8
archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBill.java

@ -49,4 +49,12 @@ public class ArchivesCheckBill extends BaseEntity implements Serializable {
@ApiModelProperty(value = "错位档案")
private Integer dislocation;
@Column(name = "abnormal")
@ApiModelProperty(value = "异常档案")
private Integer abnormal;
@Column(name = "others")
@ApiModelProperty(value = "其他档案")
private Integer others;
}

46
archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillData.java

@ -0,0 +1,46 @@
package com.storeroom.modules.archives.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
@Entity
@Getter
@Setter
@Table(name = "archives_check_bill_data")
public class ArchivesCheckBillData implements Serializable {
@Id
@Column(name = "id")
@GeneratedValue(generator = "idGenerator")
@GenericGenerator(name = "idGenerator", strategy = "uuid")
private String id;
@Column(name = "rfid")
@ApiModelProperty(value = "手持机id")
private String rfid;
@Column(name = "bill_id")
@ApiModelProperty(value = "盒名称")
private String billId;
@Column(name = "archives_id")
@ApiModelProperty(value = "盒名称")
private String archivesId;
@Column(name = "check_result")
@ApiModelProperty(value = "盘点结果")
private Integer checkResult;
@Column(name = "create_time")
@ApiModelProperty(value = "手持机盘点时间")
private Timestamp createTime;
}

10
archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillDetails.java

@ -18,6 +18,8 @@ public class ArchivesCheckBillDetails implements Serializable {
@Id
@Column(name = "id")
@GeneratedValue(generator = "idGenerator")
@GenericGenerator(name = "idGenerator", strategy = "uuid")
private String id;
@Column(name = "bill_id")
@ -28,6 +30,10 @@ public class ArchivesCheckBillDetails implements Serializable {
@ApiModelProperty(value = "盘点结果 0.未盘点 1.在库 2.错位 3.已借")
private Integer checkResult;
@Column(name = "archives_id")
@ApiModelProperty(value = "档案id")
private String archivesId;
@Column(name = "child")
@ApiModelProperty(value = "子条目数")
private Integer child;
@ -40,6 +46,10 @@ public class ArchivesCheckBillDetails implements Serializable {
@ApiModelProperty(value = "门类名称")
private String categoryName;
@Column(name = "shelf_id")
@ApiModelProperty(value = "层架位id")
private String shelfId;
@Column(name = "fonds_no")
@ApiModelProperty(value = "全宗号")
private String fondsNo;

17
archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDataRepository.java

@ -0,0 +1,17 @@
package com.storeroom.modules.archives.repository;
import com.storeroom.modules.archives.domain.ArchivesCheckBillData;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
public interface ArchivesCheckBillDataRepository extends JpaRepository<ArchivesCheckBillData, String>{
@Query(value = "from ArchivesCheckBillData where billId = ?1 order by createTime desc ")
List<ArchivesCheckBillData> findByOrderId(String orderId);
}

60
archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDetailsRepository.java

@ -1,16 +1,19 @@
package com.storeroom.modules.archives.repository;
import com.storeroom.modules.archives.domain.ArchivesCheckBillDetails;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
import java.util.Map;
public interface ArchivesCheckBillDetailsRepository extends JpaRepository<ArchivesCheckBillDetails, String>{
@Query(nativeQuery = true,
value = "select replace(uuid(),'-','') as id,?1 as bill_id,(select if(count(1)=0,0,3) from borrow_archives ba where ba.archives_id = asy.archives_id and borrow_type = 3) as check_result," +
"asy.child,asy.category_type,asy.category_name,asy.fonds_no," +
"asy.child,asy.category_type,asy.category_name,asy.shelf_id,asy.fonds_no,asy.archives_id," +
"asy.archive_no,asy.archive_year,asy.maintitle,asy.security_class," +
"asy.department,asy.case_name,asy.folder_location_details,asy.create_time " +
"from archives_summary asy where " +
@ -20,15 +23,11 @@ public interface ArchivesCheckBillDetailsRepository extends JpaRepository<Archiv
List<ArchivesCheckBillDetails> findDetailsAll(String billId);
@Query(nativeQuery = true,
countQuery = "select count(1) from archives_summary asy where " +
"asy.archives_id in (select DISTINCT acc.parent_id from archives_case_cartoning acc " +
"inner join archives_case ace on acc.case_id = ace.id " +
"inner join device_archives_tag dat on ace.folder_location = dat.position where if(?1 is null,1=1,dat.device_info_id in ?1)) ",
value = "select null as id,asy.child,asy.category_type as categoryType,asy.category_name as categoryName,asy.fonds_no as fondsNo," +
"?2 as billId,(select if(count(1)=0,0,3) from borrow_archives ba where ba.archives_id = asy.archives_id and borrow_type = 3) as checkResult," +
"asy.archive_no as archiveNo,asy.archive_year as archiveYear,asy.maintitle,asy.security_class as securityClass,asy.department,asy.case_name as caseName," +
"asy.folder_location_details as folderLocationDetails,asy.create_time as createTime from archives_summary asy " +
"where " +
value = "select replace(uuid(),'-','') as id,?2 as bill_id,(select if(count(1)=0,0,3) from borrow_archives ba where ba.archives_id = asy.archives_id and borrow_type = 3) as check_result," +
"asy.child,asy.category_type,asy.category_name,asy.shelf_id,asy.fonds_no,asy.archives_id," +
"asy.archive_no,asy.archive_year,asy.maintitle,asy.security_class," +
"asy.department,asy.case_name,asy.folder_location_details,asy.create_time " +
"from archives_summary asy where " +
"asy.archives_id in (select DISTINCT acc.parent_id from archives_case_cartoning acc " +
"inner join archives_case ace on acc.case_id = ace.id " +
"inner join device_archives_tag dat on ace.folder_location = dat.position where if(?1 is null,1=1,dat.device_info_id in ?1)) " +
@ -36,16 +35,11 @@ public interface ArchivesCheckBillDetailsRepository extends JpaRepository<Archiv
List<ArchivesCheckBillDetails> findDetailsAllByDeviceId(List<String> deviceIds,String billId);
@Query(nativeQuery = true,
countQuery = "select count(1) from archives_summary asy where" +
"if(?1 is null,1=1,category_id in ?1) and " +
"asy.archives_id in (select DISTINCT acc.parent_id from archives_case_cartoning acc " +
"inner join archives_case ace on acc.case_id = ace.id " +
"inner join device_archives_tag dat on ace.folder_location = dat.position) ",
value = "select null as id,asy.child,asy.category_type as categoryType,asy.category_name as categoryName,asy.fonds_no as fondsNo," +
"?2 as billId,(select if(count(1)=0,0,3) from borrow_archives ba where ba.archives_id = asy.archives_id and borrow_type = 3) as checkResult," +
"asy.archive_no as archiveNo,asy.archive_year as archiveYear,asy.maintitle,asy.security_class as securityClass,asy.department,asy.case_name as caseName," +
"asy.folder_location_details as folderLocationDetails,asy.create_time as createTime from archives_summary asy " +
"where " +
value = "select replace(uuid(),'-','') as id,?2 as bill_id,(select if(count(1)=0,0,3) from borrow_archives ba where ba.archives_id = asy.archives_id and borrow_type = 3) as check_result," +
"asy.child,asy.category_type,asy.category_name,asy.shelf_id,asy.fonds_no,asy.archives_id," +
"asy.archive_no,asy.archive_year,asy.maintitle,asy.security_class," +
"asy.department,asy.case_name,asy.folder_location_details,asy.create_time " +
"from archives_summary asy where " +
"if(?1 is null,1=1,category_id in ?1) and " +
"asy.archives_id in (select DISTINCT acc.parent_id from archives_case_cartoning acc " +
"inner join archives_case ace on acc.case_id = ace.id " +
@ -54,16 +48,11 @@ public interface ArchivesCheckBillDetailsRepository extends JpaRepository<Archiv
List<ArchivesCheckBillDetails> findDetailsAllByCategoryId(List<String> categroyIds,String billId);
@Query(nativeQuery = true,
countQuery = "select count(1) from archives_summary asy where" +
"if(?2 is null,1=1,category_id in ?2) and " +
"asy.archives_id in (select DISTINCT acc.parent_id from archives_case_cartoning acc " +
"inner join archives_case ace on acc.case_id = ace.id " +
"inner join device_archives_tag dat on ace.folder_location = dat.position where if(?1 is null,1=1,dat.device_info_id in ?1)) ",
value = "select null as id,asy.child,asy.category_type as categoryType,asy.category_name as categoryName,asy.fonds_no as fondsNo," +
"?3 as billId,(select if(count(1)=0,0,3) from borrow_archives ba where ba.archives_id = asy.archives_id and borrow_type = 3) as checkResult," +
"asy.archive_no as archiveNo,asy.archive_year as archiveYear,asy.maintitle,asy.security_class as securityClass,asy.department,asy.case_name as caseName," +
"asy.folder_location_details as folderLocationDetails,asy.create_time as createTime from archives_summary asy " +
"where " +
value = "select replace(uuid(),'-','') as id,?3 as bill_id,(select if(count(1)=0,0,3) from borrow_archives ba where ba.archives_id = asy.archives_id and borrow_type = 3) as check_result," +
"asy.child,asy.category_type,asy.category_name,asy.shelf_id,asy.fonds_no,asy.archives_id," +
"asy.archive_no,asy.archive_year,asy.maintitle,asy.security_class," +
"asy.department,asy.case_name,asy.folder_location_details,asy.create_time " +
"from archives_summary asy where " +
"if(?2 is null,1=1,category_id in ?2) and " +
"asy.archives_id in (select DISTINCT acc.parent_id from archives_case_cartoning acc " +
"inner join archives_case ace on acc.case_id = ace.id " +
@ -72,7 +61,16 @@ public interface ArchivesCheckBillDetailsRepository extends JpaRepository<Archiv
List<ArchivesCheckBillDetails> findDetailsAllByDeviceIdAndCategoryId(List<String> deviceIds,List<String> categroyIds,String billId);
@Query(nativeQuery = true,
value = "select count(1) from archives_check_bill_details where check_result = 3 ")
value = "select count(1) from archives_check_bill_details where check_result = 3 and bill_id = ?1 ")
Integer findBorrowCountByOrderId(String orderIds);
@Query(nativeQuery = true,
value = "select * from archives_check_bill_details where bill_id = ?1 " +
"and if(?2 is null,1=1,check_result = ?2) ")
Page<ArchivesCheckBillDetails> getArrangeDetailes(String orderNo, String checkResult, Pageable page);
@Query(nativeQuery = true,
value = "select id as checkId,bill_id as billId,check_result as checkResult,archives_id as archivesId from archives_check_bill_details where bill_id = ?1 ")
List<Map<String,Object>> getArrangeDetailesAllToRFID(String orderNo);
}

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

@ -4,6 +4,7 @@ import com.storeroom.modules.archives.domain.ArchivesCheckBill;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
public interface ArchivesCheckBillRepository extends JpaRepository<ArchivesCheckBill, String>{
@ -15,4 +16,16 @@ public interface ArchivesCheckBillRepository extends JpaRepository<ArchivesCheck
"from archives_check_bill where SUBSTR(id, 3, 8)=substr(DATE_FORMAT(now(),'%Y%m%d') , 1, 8)")
String getOrderId();
@Query(nativeQuery = true,
value = "select * from archives_check_bill where if(?1 is null,1=1,check_state = ?1) " +
"and if(?2 is null,1=1,region like ?2) and if(?3 is null,1=1,id like ?3) ")
Page<ArchivesCheckBill> initArrangeList(Integer checkState, String region, String orderNo, Pageable page);
@Query("from ArchivesCheckBill where id = ?1 ")
ArchivesCheckBill findBillById(String orderNo);
@Modifying
@Query(nativeQuery = true,value = "update archives_check_bill set check_state = ?2 where id = ?1")
void updateState(String orderNo,Integer checkState);
}

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

@ -49,7 +49,7 @@ public interface BorrowArchivesRepository extends JpaRepository<BorrowArchives,
@Modifying
@Query(nativeQuery = true,
value = "update borrow_archives set borrow_type = ?2,start_time = now() where id in (select ba_id from borrow_bill_archives where bill_id in ?1)")
value = "update borrow_archives set borrow_type = ?2,start_time = now() where id in (select ba_id from borrow_bill_archives where bill_id in ?1) and borrow_type = 2 ")
void billBorrowConfirm(List<String> rbIds,Integer borrowType);
@Modifying
@ -57,6 +57,11 @@ public interface BorrowArchivesRepository extends JpaRepository<BorrowArchives,
value = "update borrow_archives set borrow_type = ?2,end_time = now() where id in ?1 ")
void archivesReturnConfirm(List<String> rbIds,Integer borrowType);
@Modifying
@Query(nativeQuery = true,
value = "update borrow_archives set borrow_type = ?2 where id in ?1 ")
void archivesUpdateType(List<String> rbIds,Integer borrowType);
@Modifying
@Query(nativeQuery = true,
value = "delete from borrow_archives where id in (select ba_id from borrow_bill_archives where bill_id in ?1)")

17
archives/src/main/java/com/storeroom/modules/archives/service/ArrangeService.java

@ -1,10 +1,27 @@
package com.storeroom.modules.archives.service;
import com.storeroom.modules.archives.domain.ArchivesCheckBill;
import com.storeroom.modules.archives.domain.ArchivesCheckBillData;
import com.storeroom.modules.archives.service.dto.ArrangeAddDTO;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface ArrangeService {
//新增盘点
Object addArrange(ArrangeAddDTO dto);
//初始化盘点列表
Object initArrangeList(Integer checkState, String region, String orderNo, Pageable page);
//查看盘点信息
ArchivesCheckBill getArrange(String orderNo);
//查看盘点单内详细信息
Object getArrangeDetailes(String orderNo,String checkResult,Pageable page);
//根据盘点单号获取盘点基本信息
Object findArrangeDetailsByOrderNo(String orderNo);
//提交手持机盘点数据
Object addArrangeData(List<ArchivesCheckBillData> datas);
//结算
Object settlement(String orderId);
}

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

@ -27,6 +27,8 @@ public interface BorrowService {
//借出确认列表
Object initWaitBorrowList(String billNo,String borrowerName,String phone,Pageable page);
//异常处理
Object borrowException(List<String> baIds);
//根据单据获取详情信息
BorrowBillDetailsVO initBillDetailsByOrderNo(String orderNo);
//根据单据号查询借阅档案信息

16
archives/src/main/java/com/storeroom/modules/archives/service/dto/RFIDBorrowOkDTO.java

@ -0,0 +1,16 @@
package com.storeroom.modules.archives.service.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class RFIDBorrowOkDTO {
//清单id
private List<String> orderNos;
//待借id
private List<String> rbIds;
}

82
archives/src/main/java/com/storeroom/modules/archives/service/impl/ArrangeServiceImpl.java

@ -1,15 +1,21 @@
package com.storeroom.modules.archives.service.impl;
import com.storeroom.modules.archives.domain.ArchivesCheckBill;
import com.storeroom.modules.archives.domain.ArchivesCheckBillData;
import com.storeroom.modules.archives.domain.ArchivesCheckBillDetails;
import com.storeroom.modules.archives.repository.ArchivesCheckBillDataRepository;
import com.storeroom.modules.archives.repository.ArchivesCheckBillDetailsRepository;
import com.storeroom.modules.archives.repository.ArchivesCheckBillRepository;
import com.storeroom.modules.archives.service.ArrangeService;
import com.storeroom.modules.archives.service.dto.ArrangeAddDTO;
import com.storeroom.utils.PageUtil;
import com.storeroom.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service
@ -18,6 +24,7 @@ public class ArrangeServiceImpl implements ArrangeService {
private final ArchivesCheckBillRepository archivesCheckBillRepository;
private final ArchivesCheckBillDetailsRepository archivesCheckBillDetailsRepository;
private final ArchivesCheckBillDataRepository archivesCheckBillDataRepository;
@Override
@Transactional
@ -29,21 +36,81 @@ public class ArrangeServiceImpl implements ArrangeService {
//获取相关在库档案信息
List<ArchivesCheckBillDetails> checkDetaills = null;
if(null != dto.getDeviceIds() && dto.getDeviceIds().size() !=0 && null != dto.getCategoryIds() && dto.getCategoryIds().size() !=0){
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAllByDeviceIdAndCategoryId(dto.getDeviceIds(),dto.getCategoryIds(),dto.getRegion());
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAllByDeviceIdAndCategoryId(dto.getDeviceIds(),dto.getCategoryIds(),bill.getId());
}else if(null != dto.getDeviceIds() && dto.getDeviceIds().size() != 0){
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAllByDeviceId(dto.getDeviceIds(),dto.getRegion());
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAllByDeviceId(dto.getDeviceIds(),bill.getId());
}else if(null != dto.getCategoryIds() && dto.getCategoryIds().size() != 0){
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAllByCategoryId(dto.getCategoryIds(),dto.getRegion());
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAllByCategoryId(dto.getCategoryIds(),bill.getId());
}else{
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAll(dto.getRegion());
checkDetaills = archivesCheckBillDetailsRepository.findDetailsAll(bill.getId());
}
checkDetaills = archivesCheckBillDetailsRepository.saveAll(checkDetaills);
List<ArchivesCheckBillDetails> saveDetaills = new ArrayList<>();
for(int i = 0;i<checkDetaills.size();i++){
ArchivesCheckBillDetails details = new ArchivesCheckBillDetails();
details.setBillId(checkDetaills.get(i).getBillId());
details.setCheckResult(checkDetaills.get(i).getCheckResult());
details.setArchivesId(checkDetaills.get(i).getArchivesId());
details.setChild(checkDetaills.get(i).getChild());
details.setCategoryType(checkDetaills.get(i).getCategoryType());
details.setCategoryName(checkDetaills.get(i).getCategoryName());
details.setShelfId(checkDetaills.get(i).getShelfId());
details.setFondsNo(checkDetaills.get(i).getFondsNo());
details.setArchiveNo(checkDetaills.get(i).getArchiveNo());
details.setArchiveYear(checkDetaills.get(i).getArchiveYear());
details.setMaintitle(checkDetaills.get(i).getMaintitle());
details.setSecurityClass(checkDetaills.get(i).getSecurityClass());
details.setDepartment(checkDetaills.get(i).getDepartment());
details.setCaseName(checkDetaills.get(i).getCaseName());
details.setFolderLocationDetails(checkDetaills.get(i).getFolderLocationDetails());
details.setCreateTime(checkDetaills.get(i).getCreateTime());
saveDetaills.add(details);
}
saveDetaills = archivesCheckBillDetailsRepository.saveAll(saveDetaills);
bill.setBorrowed(archivesCheckBillDetailsRepository.findBorrowCountByOrderId(bill.getId()));
archivesCheckBillRepository.saveAndFlush(bill);
return bill;
}
@Override
public Object initArrangeList(Integer checkState, String region, String orderNo, Pageable page) {
orderNo = StringUtils.isEmpty(orderNo) ? null : "%"+ orderNo +"%";
region = StringUtils.isEmpty(region) ? null : "%"+ region +"%";
return PageUtil.toPage(archivesCheckBillRepository.initArrangeList(checkState,region,orderNo,page));
}
@Override
public ArchivesCheckBill getArrange(String orderNo) {
return archivesCheckBillRepository.findBillById(orderNo);
}
@Override
public Object getArrangeDetailes(String orderNo, String checkResult, Pageable page) {
return PageUtil.toPage(archivesCheckBillDetailsRepository.getArrangeDetailes(orderNo,checkResult,page));
}
@Override
@Transactional
public Object findArrangeDetailsByOrderNo(String orderNo) {
ArchivesCheckBill bill = archivesCheckBillRepository.findBillById(orderNo);
if(null == bill)
return null;
if(bill.getCheckState() == 0)
archivesCheckBillRepository.updateState(orderNo,1);
return archivesCheckBillDetailsRepository.getArrangeDetailesAllToRFID(orderNo);
}
@Override
public Object addArrangeData(List<ArchivesCheckBillData> datas) {
return archivesCheckBillDataRepository.saveAll(datas);
}
@Override
public Object settlement(String orderId) {
//获取手持机盘点数据
List<ArchivesCheckBillData> datas = archivesCheckBillDataRepository.findByOrderId(orderId);
return null;
}
//生成清单
public ArchivesCheckBill createBill(String region,Integer loop){
@ -58,6 +125,9 @@ public class ArrangeServiceImpl implements ArrangeService {
bill.setNoCheck(0);
bill.setBorrowed(0);
bill.setDislocation(0);
bill.setAbnormal(0);
bill.setOthers(0);
bill = archivesCheckBillRepository.save(bill);
}catch (Exception e){
if(loop==4)
return null;

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

@ -113,6 +113,13 @@ public class BorrowServiceImpl implements BorrowService {
return PageUtil.toPage(borrowBillRepository.initWaitBorrowList(billNo,borrowerName,phone,page));
}
@Override
@Transactional
public Object borrowException(List<String> baIds) {
borrowArchivesRepository.archivesUpdateType(baIds,-1);
return baIds.size();
}
@Override
public BorrowBillDetailsVO initBillDetailsByOrderNo(String orderNo) {
BorrowBillDetailsVO vo = new BorrowBillDetailsVO();

Loading…
Cancel
Save