Browse Source

1.优化档案检索

2.新增获取客户端mac
3.盒管理模块拆盒优化
4.新增层架位标签
master
xia 3 years ago
parent
commit
8aa2918ae8
  1. 5
      archives/pom.xml
  2. 5
      archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java
  3. 2
      archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java
  4. 49
      archives/src/main/java/com/storeroom/modules/archives/controller/RFIDController.java
  5. 4
      archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesSummary.java
  6. 8
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java
  7. 2
      archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java
  8. 113
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java
  9. 78
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java
  10. 19
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesTagServiceImpl.java
  11. 11
      storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceArchivesTagRepository.java

5
archives/pom.xml

@ -29,6 +29,11 @@
<artifactId>logging</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.storeroom</groupId>
<artifactId>storeroom</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>

5
archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java

@ -55,8 +55,9 @@ public class ArchivesController {
@ApiOperation("档案列表")
@GetMapping("/initArchivesView")
public ApiResponse<Object> initArchivesView(
String categoryId,String parentsId,Integer queryType,String queryTitle,String itemNo,String archiveNo,String archiveCtgNo,String responsibleby,
Integer archivesState,String archiveYear,String department,String retention,String securityClass,String organizationMatter,boolean isdel,Pageable page
String categoryId,String parentsId,Integer queryType,String queryTitle,String itemNo,String archiveNo,String archiveCtgNo,
String responsibleby,Integer archivesState,String archiveYear,String department,String retention,String securityClass,
String organizationMatter,boolean isdel,Pageable page
){
return ApiResponse.success(archivesService.initArchivesView(categoryId,parentsId,queryType,queryTitle,itemNo,archiveNo,archiveCtgNo,responsibleby,
archivesState,archiveYear,department,retention,securityClass,organizationMatter,isdel,page));

2
archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java

@ -104,7 +104,7 @@ public class CaseController {
@ApiOperation("拆盒")
@PostMapping("/unpacking")
public ApiResponse<Object> unpacking(
@Validated @RequestBody String caseId
@Validated @RequestBody List<String> caseId
){
return ApiResponse.success(caseService.unpacking(caseId));
}

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

@ -2,6 +2,7 @@ package com.storeroom.modules.archives.controller;
import cn.hutool.http.HttpResource;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.utils.ApiResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -16,13 +17,17 @@ import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@RestController
@RequiredArgsConstructor
@ -146,4 +151,48 @@ public class RFIDController {
return ApiResponse.success(result);
}
@ApiOperation("获取设备mac地址")
@AnonymousGetMapping("/getDeviceMac")
public ApiResponse<Object> getDeviceMac(HttpServletRequest request){
String ip = request.getHeader("X-real-ip");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("x-forwarded-for");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
String macAddr = null;
try {
Process process = Runtime.getRuntime().exec("nbtstat -a " + ip);
BufferedReader br = new BufferedReader(
new InputStreamReader(process.getInputStream()));
Pattern pattern = Pattern.compile("([A-F0-9]{2}-){5}[A-F0-9]{2}");
Matcher matcher;
for (String strLine = br.readLine(); strLine != null;
strLine = br.readLine()) {
matcher = pattern.matcher(strLine);
if (matcher.find()) {
macAddr = matcher.group();
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return ApiResponse.success(macAddr);
}
}

4
archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesSummary.java

@ -121,4 +121,8 @@ public class ArchivesSummary extends BaseEntity implements Serializable {
@ApiModelProperty(value = "子条目数")
private Integer child;
@Column(name = "is_delete_time")
@ApiModelProperty(value = "删除时间")
private String isDeleteTime;
}

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

@ -27,25 +27,25 @@ public interface ArchivesSummaryRepository extends JpaRepository<ArchivesSummary
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(nativeQuery = true,
value = "update archives_summary set tag_no = null where tag_no = ?1 ")
value = "update archives_summary set tag_no = null,update_time = now() where tag_no = ?1 ")
void unbindTag(String tid);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(nativeQuery = true,
value = "update archives_summary set tag_no = ?1 where archives_id = ?2 ")
value = "update archives_summary set tag_no = ?1,update_time = now() where archives_id = ?2 ")
Integer bindTag(String tid,String archivesId);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(nativeQuery = true,
value = "update archives_summary set case_no = ?2,case_name = ?3 where archives_id = ?1")
value = "update archives_summary set case_no = ?2,case_name = ?3,update_time = now() where archives_id = ?1")
Integer cartoning(String archivesId,String caseId,String caseName);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(nativeQuery = true,
value = "update archives_summary set case_no = null,case_name = null where archives_id = ?1")
value = "update archives_summary set case_no = null,case_name = null,update_time = now() where archives_id = ?1")
Integer unpacking(String archivesId);
ArchivesSummary findFirstByTagNo(String tagNo);

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

@ -29,7 +29,7 @@ public interface ArchivesCaseService {
//预拆盒
// Object doUnpacking(String caseId);
//拆盒
Object unpacking(String caseId);
Object unpacking(List<String> caseId);
//查看盒内详情
Object findInCase(String caseId);

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

@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.sql.Timestamp;
import java.util.*;
import java.util.stream.Collectors;
@ -278,63 +279,75 @@ public class ArchivesCaseServiceImpl implements ArchivesCaseService {
@Override
@Transactional(rollbackFor = Exception.class)
public Object unpacking(String caseId) {
ArchivesCase archivesCase = caseRepository.findById(caseId).get();
List<ArchivesSummary> editArchivesSummaries = new ArrayList<>();
List<String> archivesIds = new ArrayList<>();
Set<String> caseIds = new HashSet<>();
String categoryId = "";
//文件类型档案盒
if(archivesCase.getCaseType()==1){
List<ArchivesSummary> archivesSummaries = archivesSummaryRepository.findAllByCaseNoAndCategoryType(caseId, ArchivesTypeEnum.files.getCode());
for(ArchivesSummary archivesSummary:archivesSummaries){
categoryId = archivesSummary.getCategoryId();
archivesIds.add(archivesSummary.getArchivesId());
archivesSummary.setCaseNo(null);
editArchivesSummaries.add(archivesSummary);
}
caseIds.add(archivesCase.getId());
//案卷类型盒
}else if(archivesCase.getCaseType()==2){
List<ArchivesSummary> archivesSummaries = archivesSummaryRepository.findAllByCaseNoAndCategoryType(caseId,ArchivesTypeEnum.inChive.getCode());
for(ArchivesSummary archivesSummary:archivesSummaries){
categoryId = archivesSummary.getCategoryId();
archivesIds.add(archivesSummary.getArchivesId());
caseIds.add(archivesSummary.getCaseNo());
archivesSummary.setCaseNo(null);
editArchivesSummaries.add(archivesSummary);
}
if(caseIds.size()>1) {
for (String thisCaseId : caseIds) {
if(!caseId.equals(thisCaseId)){
for (ArchivesSummary thisSummary : archivesSummaries) {
if (thisCaseId.equals(thisSummary.getCaseNo())) {
thisSummary.setCaseNo(null);
archivesIds.add(thisSummary.getArchivesId());
editArchivesSummaries.add(thisSummary);
public Object unpacking(List<String> caseIdList) {
Integer result = 0;
for(String caseId:caseIdList){
ArchivesCase archivesCase = caseRepository.findById(caseId).get();
List<ArchivesSummary> editArchivesSummaries = new ArrayList<>();
List<String> archivesIds = new ArrayList<>();
Set<String> caseIds = new HashSet<>();
String categoryId = "";
//文件类型档案盒
if(archivesCase.getCaseType()==1){
List<ArchivesSummary> archivesSummaries = archivesSummaryRepository.findAllByCaseNoAndCategoryType(caseId, ArchivesTypeEnum.files.getCode());
for(ArchivesSummary archivesSummary:archivesSummaries){
categoryId = archivesSummary.getCategoryId();
archivesIds.add(archivesSummary.getArchivesId());
archivesSummary.setCaseNo(null);
editArchivesSummaries.add(archivesSummary);
}
caseIds.add(archivesCase.getId());
//案卷类型盒
}else if(archivesCase.getCaseType()==2){
List<ArchivesSummary> archivesSummaries = archivesSummaryRepository.findAllByCaseNoAndCategoryType(caseId,ArchivesTypeEnum.inChive.getCode());
for(ArchivesSummary archivesSummary:archivesSummaries){
categoryId = archivesSummary.getCategoryId();
archivesIds.add(archivesSummary.getArchivesId());
caseIds.add(archivesSummary.getCaseNo());
archivesSummary.setCaseNo(null);
archivesSummary.setCaseName(null);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
editArchivesSummaries.add(archivesSummary);
}
if(caseIds.size()>1) {
for (String thisCaseId : caseIds) {
if(!caseId.equals(thisCaseId)){
for (ArchivesSummary thisSummary : archivesSummaries) {
if (thisCaseId.equals(thisSummary.getCaseNo())) {
thisSummary.setCaseNo(null);
thisSummary.setCaseName(null);
thisSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesIds.add(thisSummary.getArchivesId());
editArchivesSummaries.add(thisSummary);
}
}
caseRepository.cartoning(thisCaseId,0,0);
result = result+1;
}
}
}
}
}
ArchivesType archivesType = archivesTypeRepository.findById(categoryId).get();
//清空总表盒关联
archivesSummaryRepository.saveAllAndFlush(editArchivesSummaries);
Integer result = 0;
//清空具体档案表盒信息
for(String archivesId:archivesIds){
//若为案卷
if(archivesType.getIsType() == 2){
ArchivesType archivesTypeP = archivesTypeRepository.findById(archivesType.getPid()).get();
String sonsql = "update " +archivesTypeP.getEnName() + " set case_no = null where parent_id = '"+archivesId+"'";
entityManager.createNativeQuery(sonsql).executeUpdate();
if(StringUtils.isEmpty(categoryId)){
return 0;
}
ArchivesType archivesType = archivesTypeRepository.findById(categoryId).get();
//清空总表盒关联
archivesSummaryRepository.saveAllAndFlush(editArchivesSummaries);
//清空具体档案表盒信息
for(String archivesId:archivesIds){
//若为案卷
if(archivesType.getIsType() == 2){
ArchivesType archivesTypeP = archivesTypeRepository.findById(archivesType.getPid()).get();
String sonsql = "update " +archivesTypeP.getEnName() + " set case_no = null where parent_id = '"+archivesId+"'";
entityManager.createNativeQuery(sonsql).executeUpdate();
}
String sql = "update " +archivesType.getEnName() + " set case_no = null where id = '"+archivesId+"'";
entityManager.createNativeQuery(sql).executeUpdate();
}
String sql = "update " +archivesType.getEnName() + " set case_no = null where id = '"+archivesId+"'";
result = entityManager.createNativeQuery(sql).executeUpdate();
archivesCaseCartoningRepository.deleteByCaseId(Arrays.asList(caseIds.toArray()));
caseRepository.cartoning(caseId,0,0);
result = result+1;
}
archivesCaseCartoningRepository.deleteByCaseId(Arrays.asList(caseIds.toArray()));
return result;
}

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

@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.io.File;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -522,10 +523,16 @@ public class ArchivesServiceImpl implements ArchivesService {
ArchivesType archivesType = archivesTypeRepository.findById(dto.getCategoryId()).get();
List<String> ids = dto.getIds();
String queryTable = archivesType.getEnName();
String sql = "update " + queryTable + " set is_delete_time = '" +sdf.format(new Date())+"',is_delete_man='"+dto.getDelMan()
String delTime = sdf.format(new Date());
String sql = "update " + queryTable + " set is_delete_time = '" +delTime+"',is_delete_man='"+dto.getDelMan()
+"' where id in ('"+ids.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
int result = entityManager.createNativeQuery(sql).executeUpdate();
for(String id:ids){
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(delTime);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
}
//若删除为项目
if(archivesType.getIsType() == 2){
//获取档案表名
@ -535,22 +542,49 @@ public class ArchivesServiceImpl implements ArchivesService {
List<String> list3 = entityManager.createNativeQuery(query3sql).getResultList();
if(null != list3 && list3.size()!=0){
//删除案卷
String update3sql = "update " + archivesType_3.getEnName() + " set is_delete_time = '" +sdf.format(new Date())+"',is_delete_man='"+dto.getDelMan()
String update3sql = "update " + archivesType_3.getEnName() + " set is_delete_time = '" +delTime+"',is_delete_man='"+dto.getDelMan()
+"' where id in ('"+list3.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
//获取卷内表名
String enName_4 = archivesTypeRepository.findEnNameByPid(archivesType_3.getId());
String query4sql = "select id from "+enName_4+" where parent_id in ('"+list3.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
List<String> list4 = entityManager.createNativeQuery(query4sql).getResultList();
//删除卷内
String update4sql = "update " + enName_4 + " set is_delete_time = '" +sdf.format(new Date())+"',is_delete_man='"+dto.getDelMan()
String update4sql = "update " + enName_4 + " set is_delete_time = '" +delTime+"',is_delete_man='"+dto.getDelMan()
+"' where parent_id in ('"+list3.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
entityManager.createNativeQuery(update3sql).executeUpdate();
entityManager.createNativeQuery(update4sql).executeUpdate();
for(String id:list3){
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(delTime);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
}
for(String id:list4){
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(delTime);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
}
}
//若删除为案卷
}else if(archivesType.getIsType() == 3){
String enName_4 = archivesTypeRepository.findEnNameByPid(archivesType.getId());
String update4sql = "update " + enName_4 + " set is_delete_time = '" +sdf.format(new Date())+"',is_delete_man='"+dto.getDelMan()
String update4sql = "update " + enName_4 + " set is_delete_time = '" +delTime+"',is_delete_man='"+dto.getDelMan()
+"' where parent_id in ('"+ids.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
String query4sql = "select id from "+enName_4+" where parent_id in ('"+ids.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
List<String> list4 = entityManager.createNativeQuery(query4sql).getResultList();
entityManager.createNativeQuery(update4sql).executeUpdate();
for(String id:list4){
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(delTime);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
}
}
return result;
}
@ -596,6 +630,12 @@ public class ArchivesServiceImpl implements ArchivesService {
String sql = "update " + archivesType.getEnName() + " set is_delete_time = null,is_delete_man = null " +
"where id = '"+id+"'";
int result = entityManager.createNativeQuery(sql).executeUpdate();
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(null);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
success += result;
}
@ -628,6 +668,12 @@ public class ArchivesServiceImpl implements ArchivesService {
String sql_3 = "update " + archivesType_3.getEnName() + " set is_delete_time = null,is_delete_man = null " +
"where id = '"+id+"'";
int result_3 = entityManager.createNativeQuery(sql_3).executeUpdate();
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(null);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
}
@ -658,6 +704,12 @@ public class ArchivesServiceImpl implements ArchivesService {
String sql_4 = "update " + archivesType_4.getEnName() + " set is_delete_time = null,is_delete_man = null " +
"where id = '"+id+"'";
int result_3 = entityManager.createNativeQuery(sql_4).executeUpdate();
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(null);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
}
//若恢复为案卷时
}else if(archivesType.getIsType() == 3){
@ -689,6 +741,11 @@ public class ArchivesServiceImpl implements ArchivesService {
String sql_3 = "update " + archivesType_3.getEnName() + " set is_delete_time = null,is_delete_man = null " +
"where id = '"+id+"'";
int result_3 = entityManager.createNativeQuery(sql_3).executeUpdate();
ArchivesSummary archivesSummary = archivesSummaryRepository.findByArchivesId(id);
archivesSummary.setIsDeleteTime(null);
archivesSummary.setUpdateTime(new Timestamp(System.currentTimeMillis()));
archivesSummaryRepository.saveAndFlush(archivesSummary);
}
}
@ -704,7 +761,7 @@ public class ArchivesServiceImpl implements ArchivesService {
String sql = "delete from " +queryTable+" where id in ('"+ids.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
int result = entityManager.createNativeQuery(sql).executeUpdate();
int result1 = 0;
archivesSummaryRepository.deleteAllById(ids);
//若删除为文件级 则删除附件
if(ArchivesTypeEnum.inChive.getCode() == archivesType.getIsType() || ArchivesTypeEnum.files.getCode() == archivesType.getIsType()){
String fileSql = "select file_path from file_"+queryTable+" where archive_id in ('"+ids.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
@ -731,8 +788,16 @@ public class ArchivesServiceImpl implements ArchivesService {
//删除案卷
String delete3sql = "delete from " + archivesType_3.getEnName() + " where id in ('"+list3.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
entityManager.createNativeQuery(delete3sql).executeUpdate();
archivesSummaryRepository.deleteAllById(list3);
//获取卷内表名
String enName_4 = archivesTypeRepository.findEnNameByPid(archivesType_3.getId());
String query4sql = "select id from "+enName_4+" where is_delete_time is not null and parent_id in ('"
+list3.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
List<String> list4 = entityManager.createNativeQuery(query4sql).getResultList();
archivesSummaryRepository.deleteAllById(list4);
//删除卷内
String delete4sql = "delete from " + enName_4 + " where is_delete_time is not null " +
"and parent_id in ('"+list3.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')";
@ -775,6 +840,7 @@ public class ArchivesServiceImpl implements ArchivesService {
+" where is_delete_time is not null and parent_id in ('"+ids.stream().map(String::valueOf).collect(Collectors.joining("','"))+"')) ";
//删除卷内
entityManager.createNativeQuery(delete3sql).executeUpdate();
archivesSummaryRepository.deleteAllById(list3);
//删除卷内附件
result1 = entityManager.createNativeQuery(sql1).executeUpdate();
for(String paths : filePath){

19
archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesTagServiceImpl.java

@ -10,6 +10,8 @@ import com.storeroom.modules.archives.repository.ArchivesTagLogRepository;
import com.storeroom.modules.archives.repository.ArchivesTagRepository;
import com.storeroom.modules.archives.service.ArchivesTagService;
import com.storeroom.modules.archives.service.dto.CaseDTO;
import com.storeroom.modules.device.domain.DeviceArchivesTag;
import com.storeroom.modules.device.repository.DeviceArchivesTagRepository;
import com.storeroom.utils.PageUtil;
import com.storeroom.utils.StringUtils;
import lombok.RequiredArgsConstructor;
@ -30,6 +32,7 @@ public class ArchivesTagServiceImpl implements ArchivesTagService {
private final ArchivesTagLogRepository archivesTagLogRepository;
private final ArchivesSummaryRepository archivesSummaryRepository;
private final ArchivesCaseRepository caseRepository;
private final DeviceArchivesTagRepository deviceArchivesTagRepository;
@PersistenceContext
EntityManager entityManager;
@ -84,6 +87,9 @@ public class ArchivesTagServiceImpl implements ArchivesTagService {
case 2:
caseRepository.unbindTag(tid);
break;
case 3:
deviceArchivesTagRepository.unbindTag(tid);
break;
default:
break;
}
@ -106,6 +112,10 @@ public class ArchivesTagServiceImpl implements ArchivesTagService {
returnCount = caseRepository.bindTag(tid,parentId);
break;
case 3:
DeviceArchivesTag deviceArchivesTag = deviceArchivesTagRepository.findById(parentId).get();
title = deviceArchivesTag.getPosition();
oldTid = deviceArchivesTag.getTid();
returnCount = deviceArchivesTagRepository.bindTag(tid,parentId);
break;
default:
break;
@ -162,17 +172,18 @@ public class ArchivesTagServiceImpl implements ArchivesTagService {
archivesSummaryRepository.unbindTag(tid);
String archivesTable = archivesSummary.getArchivesTableName();
String sql = "update "+archivesTable+" set tid = null where id = '"+archivesSummary.getArchivesId()+"'";
result = entityManager.createNativeQuery(sql).executeUpdate();
archivesTagLogRepository.save(unbingLog);
entityManager.createNativeQuery(sql).executeUpdate();
break;
case 2:
caseRepository.unbindTag(tid);
archivesTagLogRepository.save(unbingLog);
result = 1;
break;
case 3:
deviceArchivesTagRepository.unbindTag(tid);
break;
default:
break;
}
archivesTagLogRepository.save(unbingLog);
archivesTagRepository.unbindTag(tid);
result++;
}

11
storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceArchivesTagRepository.java

@ -3,6 +3,17 @@ package com.storeroom.modules.device.repository;
import com.storeroom.modules.device.domain.DeviceArchivesTag;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
public interface DeviceArchivesTagRepository extends JpaRepository<DeviceArchivesTag,String>, JpaSpecificationExecutor<DeviceArchivesTag> {
@Modifying
@Query(value = "update DeviceArchivesTag set tid = ?1 where id = ?2 ")
Integer bindTag(String tid,String shelfId);
@Modifying
@Query(value = "update DeviceArchivesTag set tid = null where tid = ?1")
void unbindTag(String tid);
}
Loading…
Cancel
Save