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 2337862..892fa15 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 @@ -26,9 +26,9 @@ public class BorrowController { @ApiOperation("待登记列表") @GetMapping("/initWaitRegisterList") public ApiResponse initWaitRegisterList( - String archiveNo, String maintitle, String caseName, Pageable page + String archiveNo, String maintitle, String caseName,String folderLocationDetails, Pageable page ){ - return ApiResponse.success(borrowService.initWaitRegisterList(archiveNo,maintitle,caseName,page)); + return ApiResponse.success(borrowService.initWaitRegisterList(archiveNo,maintitle,caseName,folderLocationDetails,page)); } @ApiOperation("判断档案是否可以借阅") @@ -118,4 +118,28 @@ public class BorrowController { return ApiResponse.success(borrowService.removeWaitBorrow(orderNos)); } + @ApiOperation("判断借阅流程管理在线离线") + @GetMapping("/initBorrowRule") + public ApiResponse initBorrowRule(){ + return ApiResponse.success(borrowService.initBorrowRule()); + } + + @ApiOperation("预借出显示标签") + @PostMapping("/readyBorrowShowTid") + public ApiResponse readyBorrowShowTid( + @Validated @RequestBody List orderNos + ){ + return ApiResponse.success(borrowService.readyBorrowShowTid(orderNos)); + } + + @ApiOperation("借出确认") + @PostMapping("/billBorrowConfirm") + public ApiResponse billBorrowConfirm( + @Validated @RequestBody List orderNos + ){ + return ApiResponse.success(borrowService.billBorrowConfirm(orderNos)); + } + + + } 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 3e5281d..5aded20 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 @@ -5,6 +5,7 @@ import cn.hutool.http.HttpResource; import com.storeroom.annotaion.rest.AnonymousGetMapping; import com.storeroom.modules.device.service.DeviceService; import com.storeroom.modules.device.service.DeviceSpecParamService; +import com.storeroom.modules.device.service.dto.DeviceSpecParamDto; import com.storeroom.utils.ApiResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,6 +41,7 @@ public class RFIDController { @Value("${hand-held.ip}") private String ip; + private final DeviceService deviceService; private final DeviceSpecParamService deviceSpecParamService; @ApiOperation("读取epc和Tid号") @@ -122,7 +124,10 @@ public class RFIDController { @ApiOperation("根据mac地址获取设备id") @GetMapping("/getDeviceIdByMac") public ApiResponse ReadEpc(String mac){ - return ApiResponse.success(deviceSpecParamService.findMacAddress(mac)); + DeviceSpecParamDto deviceSpecParamDto = deviceSpecParamService.findMacAddress(mac); + if(null == deviceSpecParamDto) + return ApiResponse.success(null); + return ApiResponse.success(deviceService.findById(deviceSpecParamDto.getDeviceInfoId())); } @ApiOperation("读写器状态检测") diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java index 4771da6..fecba65 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java @@ -69,6 +69,14 @@ public class TagController { return ApiResponse.success(archivesTagService.initTagLogList(tid,title,operType,bindingType,page)); } + @ApiOperation("根据tid更改报警信息") + @PostMapping("/updateEasByTid") + public ApiResponse updateEasByTid( + @Validated @RequestBody List dtos + ){ + return ApiResponse.success(archivesTagService.updateEasByTid(dtos)); + } + @ApiOperation("导出标签使用信息") @AnonymousGetMapping("/exportTagLogList") @ResponseBody diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java index 5f4b7e1..7c9dbb7 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java @@ -21,4 +21,8 @@ public interface ArchivesTagRepository extends JpaRepository { @@ -16,8 +17,9 @@ public interface BorrowArchivesRepository extends JpaRepository initWaitRegisterList(String archiveNo, String maintitle, String caseName, Pageable page); + "and if(?3 is null,1=1,case_name like ?3) " + + "and if(?4 is null,1=1,folder_location_details like ?4) ") + Page initWaitRegisterList(String archiveNo, String maintitle, String caseName,String folderLocationDetails, Pageable page); @Query(nativeQuery = true, value = "select asy.archives_id as archivesId,1 as borrowType,asy.category_id as categoryId," + @@ -29,7 +31,7 @@ public interface BorrowArchivesRepository extends JpaRepository findAllByArchivesIdss(List archiveIds); + List> findAllByArchivesIdss(List archiveIds); @Modifying @Query("update BorrowArchives set borrowType = ?2 where id in ?1") diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowBillRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowBillRepository.java index fe1aaab..105b93d 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowBillRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowBillRepository.java @@ -6,6 +6,7 @@ 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 BorrowBillRepository extends JpaRepository { @@ -31,4 +32,19 @@ public interface BorrowBillRepository extends JpaRepository "and if(?3 is null,1=1,ber.phone like ?3) ") Page> initWaitBorrowList(String billNo, String borrowerName, String phone, Pageable page); + @Query(nativeQuery = true, + value = "select asy.maintitle as maintitle,asy.tag_no as tid,1 as tagType,tag.eas from archives_summary asy " + + "inner join archives_tag tag on asy.tag_no = tag.tid where asy.tag_no is not null " + + "and asy.archives_id in (select archives_id from borrow_archives bas where bas.id in " + + "(select ba_id from borrow_bill_archives bba where bba.bill_id in ?1))") + List> findArchivesTidByOrderNos(List orderNo); + + @Query(nativeQuery = true, + value = "select ace.case_name as maintitle,ace.tid,2 as tagType,tag.eas from archives_case ace " + + "inner join archives_tag tag on ace.tid = tag.tid where ace.tid is not null " + + "and ace.id in (select acc.case_id from archives_case_cartoning acc where acc.parent_id in " + + "(select archives_id from borrow_archives bas where bas.id in " + + "(select ba_id from borrow_bill_archives bba where bba.bill_id in ?1))) ") + List> findCaseidByOrderNos(List orderNo); + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java index 3f975d4..f16da19 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java @@ -2,6 +2,11 @@ package com.storeroom.modules.archives.repository; import com.storeroom.modules.archives.domain.BorrowSetting; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; public interface BorrowSettingRepository extends JpaRepository { + + @Query(nativeQuery = true, + value = "select is_type from borrow_setting limit 0,1") + String findFirstToIsType(); } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java index 5e19835..d4d9365 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java @@ -20,5 +20,7 @@ public interface ArchivesTagService { Object addTag(String caseId,String tid,Integer labelType,Integer tagType); //解绑标签 Object unbindTag(List dtos); + //根据标签id更改报警状态 + Object updateEasByTid(List dtos); } 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 0512bcd..6a4f3c9 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 @@ -9,7 +9,7 @@ import java.util.List; public interface BorrowService { //分页查询待借档案列表 - Object initWaitRegisterList(String archiveNo, String maintitle, String caseName, Pageable page); + Object initWaitRegisterList(String archiveNo, String maintitle, String caseName,String folderLocationDetails, Pageable page); //判断档案是否可以借阅 Object isExistBorrow(List archiveIds); //档案借阅到待借阅 @@ -33,5 +33,11 @@ public interface BorrowService { Object reRegister(List orderNos); //移出待借阅 Object removeWaitBorrow(List orderNos); + //判断借阅流程管理在线离线 + Object initBorrowRule(); + //预借出显示标签 + Object readyBorrowShowTid(List orderNos); + //档案借出确认 + Object billBorrowConfirm(List orderNos); } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java b/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java index cbcbcb7..57d428f 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java @@ -12,6 +12,8 @@ public class CaseDTO { private String caseName; //盒标签 private String tid; + //报警信息 + private Integer eas; //条形码 private String barcode; //标签类型 diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesTagServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesTagServiceImpl.java index 670119a..a02ac4a 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesTagServiceImpl.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesTagServiceImpl.java @@ -79,6 +79,8 @@ public class ArchivesTagServiceImpl implements ArchivesTagService { switch (tagType){ case 1: ArchivesSummary archivesSummary = archivesSummaryRepository.findFirstByTagNo(tid); + if(null == archivesSummary) + break; archivesSummaryRepository.unbindTag(tid); archivesTable = archivesSummary.getArchivesTableName(); String sql = "update "+archivesTable+" set tid = null where id = '"+archivesSummary.getArchivesId()+"'"; @@ -139,6 +141,7 @@ public class ArchivesTagServiceImpl implements ArchivesTagService { tag.setTid(tid); tag.setParentsId(parentId); tag.setIsType(labelType); + tag.setEas(1); tag.setTitle(title==null?"":title+""); tag = archivesTagRepository.saveAndFlush(tag); @@ -190,5 +193,16 @@ public class ArchivesTagServiceImpl implements ArchivesTagService { return result; } + @Override + @Transactional(rollbackFor = Exception.class) + public Object updateEasByTid(List dtos) { + Integer result = 0; + for(CaseDTO dto:dtos){ + archivesTagRepository.updateEasByTid(dto.getTid(),dto.getEas()); + result++; + } + return result; + } + } 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 7a82fda..ce7284e 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 @@ -1,15 +1,19 @@ package com.storeroom.modules.archives.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; import com.storeroom.modules.archives.domain.BorrowArchives; import com.storeroom.modules.archives.domain.BorrowBill; import com.storeroom.modules.archives.domain.BorrowBillArchives; import com.storeroom.modules.archives.domain.Borrower; +import com.storeroom.modules.archives.domain.vo.BorrowBillDetailsVO; import com.storeroom.modules.archives.repository.*; import com.storeroom.modules.archives.service.BorrowService; import com.storeroom.utils.ChinesePinyinUtil; import com.storeroom.utils.PageUtil; import com.storeroom.utils.StringUtils; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -17,6 +21,7 @@ import javax.transaction.Transactional; import java.beans.Transient; import java.sql.Timestamp; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,11 +37,12 @@ public class BorrowServiceImpl implements BorrowService { private final ArchivesSummaryRepository archivesSummaryRepository; @Override - public Object initWaitRegisterList(String archiveNo, String maintitle, String caseName, Pageable page) { + public Object initWaitRegisterList(String archiveNo, String maintitle, String caseName,String folderLocationDetails, Pageable page) { archiveNo = StringUtils.isEmpty(archiveNo) ? null : "%"+ archiveNo +"%"; maintitle = StringUtils.isEmpty(maintitle) ? null : "%"+ maintitle +"%"; caseName = StringUtils.isEmpty(caseName) ? null : "%"+ caseName +"%"; - return PageUtil.toPage(borrowArchivesRepository.initWaitRegisterList(archiveNo,maintitle,caseName,page)); + folderLocationDetails = StringUtils.isEmpty(folderLocationDetails) ? null : "%"+ folderLocationDetails +"%"; + return PageUtil.toPage(borrowArchivesRepository.initWaitRegisterList(archiveNo,maintitle,caseName,folderLocationDetails,page)); } @Override @@ -46,7 +52,8 @@ public class BorrowServiceImpl implements BorrowService { @Override public Object addArchivesWaitRegister(List archiveIds) { - List addBorrowArchives = borrowArchivesRepository.findAllByArchivesIdss(archiveIds); + List> ret = borrowArchivesRepository.findAllByArchivesIdss(archiveIds); + List addBorrowArchives = JSON.parseObject(JSON.toJSONString(ret), new TypeReference>() {}); addBorrowArchives = borrowArchivesRepository.saveAll(addBorrowArchives); return addBorrowArchives; } @@ -106,9 +113,11 @@ public class BorrowServiceImpl implements BorrowService { @Override public Object initBillDetailsByOrderNo(String orderNo) { + BorrowBillDetailsVO vo = new BorrowBillDetailsVO(); BorrowBill bill = borrowBillRepository.findBillById(orderNo); - - return null; + BeanUtils.copyProperties(bill,vo); + vo.setBorrowArchives(borrowArchivesRepository.initArchivesByOrderNo(orderNo)); + return vo; } @Override @@ -129,6 +138,7 @@ public class BorrowServiceImpl implements BorrowService { } @Override + @Transactional public Object removeWaitBorrow(List orderNos) { //删除待借阅档案 borrowArchivesRepository.deleteAllByOrderNos(orderNos); @@ -139,6 +149,29 @@ public class BorrowServiceImpl implements BorrowService { return orderNos.size(); } + @Override + public Object initBorrowRule() { + return borrowSettingRepository.findFirstToIsType(); + } + + @Override + public Object readyBorrowShowTid(List orderNos) { + Map map = new HashMap<>(); + //根据单据号获取有标签的档案基本信息 + List> archives = borrowBillRepository.findArchivesTidByOrderNos(orderNos); + //根据单据号获取所有有标签的盒信息 +// List> cases = borrowBillRepository.findCaseidByOrderNos(orderNos); + map.put("archives",archives); +// map.put("cases",cases); + return map; + } + + @Override + public Object billBorrowConfirm(List orderNos) { + + return null; + } + //生成清单 public BorrowBill createBill(Integer borrowNum,String borrowerId,Timestamp startTime,Timestamp endTime,String purpose,Integer loop){