diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/ArrangeController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/ArrangeController.java index c780f53..3a81ef7 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/ArrangeController.java +++ b/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 initArrangeList( + Integer checkState, String region, String orderNo, Pageable page + ){ + return ApiResponse.success(arrangeService.initArrangeList(checkState,region,orderNo,page)); + } + + @ApiOperation("查看盘点单信息") + @GetMapping("/getArrange") + public ApiResponse getArrange( + String orderNo + ){ + return ApiResponse.success(arrangeService.getArrange(orderNo)); + } + + @ApiOperation("查看盘点单内详细信息") + @GetMapping("/getArrangeDetailes") + public ApiResponse getArrangeDetailes( + String orderNo,String checkResult,Pageable page + ){ + return ApiResponse.success(arrangeService.getArrangeDetailes(orderNo,checkResult,page)); + } + + @ApiOperation("新增盘点") + @PostMapping("/settlement") + public ApiResponse settlement( + @Validated @RequestBody String orderId + ){ + return ApiResponse.success(arrangeService.settlement(orderId)); + } + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java index ab3039a..ce2fe91 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java +++ b/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 borrowException( + @Validated @RequestBody List baIds + ){ + return ApiResponse.success(borrowService.borrowException(baIds)); + } + @ApiOperation("根据单据查看详情") @GetMapping("/initBillDetailsByOrderNo") public ApiResponse initBillDetailsByOrderNo( diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/RFIDController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/RFIDController.java index 4d6a357..6b56914 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/RFIDController.java +++ b/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 billBorrowConfirm( - @Validated @RequestBody List 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 findArrangeDetailsByOrderNo( + String orderNo + ){ + return ApiResponse.success(arrangeService.findArrangeDetailsByOrderNo(orderNo)); + } + + @ApiOperation("手持机提交盘点数据") + @AnonymousPostMapping("/arrangeDataCommit") + public ApiResponse arrangeDataCommit( + List datas + ){ + return ApiResponse.success(arrangeService.addArrangeData(datas)); + } + + + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBill.java b/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBill.java index e4d1a30..e9bd3ce 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBill.java +++ b/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; + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillData.java b/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillData.java new file mode 100644 index 0000000..e1f330a --- /dev/null +++ b/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; +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillDetails.java b/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillDetails.java index 102ecbe..4fb8e73 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCheckBillDetails.java +++ b/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; diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDataRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDataRepository.java new file mode 100644 index 0000000..77e98a9 --- /dev/null +++ b/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{ + + @Query(value = "from ArchivesCheckBillData where billId = ?1 order by createTime desc ") + List findByOrderId(String orderId); + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDetailsRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDetailsRepository.java index 6c09299..0164d85 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillDetailsRepository.java +++ b/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{ @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 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 findDetailsAllByDeviceId(List 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 findDetailsAllByCategoryId(List 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 findDetailsAllByDeviceIdAndCategoryId(List deviceIds,List 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 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> getArrangeDetailesAllToRFID(String orderNo); + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillRepository.java index 0beedcd..49e90a3 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCheckBillRepository.java +++ b/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{ @@ -15,4 +16,16 @@ public interface ArchivesCheckBillRepository extends JpaRepository 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); + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowArchivesRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowArchivesRepository.java index 6275529..a914a4a 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowArchivesRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowArchivesRepository.java @@ -49,7 +49,7 @@ public interface BorrowArchivesRepository extends JpaRepository rbIds,Integer borrowType); @Modifying @@ -57,6 +57,11 @@ public interface BorrowArchivesRepository extends JpaRepository rbIds,Integer borrowType); + @Modifying + @Query(nativeQuery = true, + value = "update borrow_archives set borrow_type = ?2 where id in ?1 ") + void archivesUpdateType(List 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)") diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/ArrangeService.java b/archives/src/main/java/com/storeroom/modules/archives/service/ArrangeService.java index bd52b49..5e044db 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/ArrangeService.java +++ b/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 datas); + //结算 + Object settlement(String orderId); } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java b/archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java index fff1e9b..3f7b7ea 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java +++ b/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 baIds); //根据单据获取详情信息 BorrowBillDetailsVO initBillDetailsByOrderNo(String orderNo); //根据单据号查询借阅档案信息 diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/dto/RFIDBorrowOkDTO.java b/archives/src/main/java/com/storeroom/modules/archives/service/dto/RFIDBorrowOkDTO.java new file mode 100644 index 0000000..de13a45 --- /dev/null +++ b/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 orderNos; + //待借id + private List rbIds; + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArrangeServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArrangeServiceImpl.java index d45a077..a68eff1 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArrangeServiceImpl.java +++ b/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 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 saveDetaills = new ArrayList<>(); + for(int i = 0;i datas) { + return archivesCheckBillDataRepository.saveAll(datas); + } + + @Override + public Object settlement(String orderId) { + //获取手持机盘点数据 + List 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; diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java index 0bcb1b5..fbdc5e2 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java +++ b/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 baIds) { + borrowArchivesRepository.archivesUpdateType(baIds,-1); + return baIds.size(); + } + @Override public BorrowBillDetailsVO initBillDetailsByOrderNo(String orderNo) { BorrowBillDetailsVO vo = new BorrowBillDetailsVO();