package com.zbooksoft.gdmis.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruili.wcp.data.entity.management.User; import com.zbooksoft.gdmis.dao.BorrowDetailMapper; import com.zbooksoft.gdmis.data.entity.BorrowDetail; import com.zbooksoft.gdmis.data.entity.CatAjjxx; import com.zbooksoft.gdmis.data.entity.CatCgwjxx; import com.zbooksoft.gdmis.data.entity.CatYswjxx; import com.zbooksoft.gdmis.data.vo.ParentBorrowInfo; import com.zbooksoft.gdmis.service.*; import org.apache.shiro.SecurityUtils; import org.apache.shiro.session.Session; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** *

* 服务实现类 *

* * @author zhai * @since 2020-01-03 */ @Service public class BorrowDetailServiceImpl extends ServiceImpl implements BorrowDetailService { @Autowired CatCgwjxxService catCgwjxxService; @Autowired CatYswjxxService catYswjxxService; @Autowired UtilizationUserService utilizationUserService; @Autowired BorrowDetailService borrowDetailService; @Autowired CatAjjxxService catAjjxxService; @Override public List selectDistinctParentBorrowInfo(Long createUserId) { return this.baseMapper.selectDistinctParentBorrowInfo(createUserId); } /** * 获取具体申请单案卷 */ @Override public List selectDistinctParentBorrowInfoByFormId(Long formId) { return this.baseMapper.selectDistinctParentBorrowInfoByFormId(formId); } /** * 添加成果文件级信息 * * @param catAjjxx */ @Override public Integer setCgwjxx(CatAjjxx catAjjxx) { int count = 0; Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession(); User user = (User) session.getAttribute("user"); String deptName = user.getDeptName(); Integer userSecurityCode = 3; QueryWrapper catCgwjxxQueryWrapper = new QueryWrapper<>(); catCgwjxxQueryWrapper.eq("aj_id", catAjjxx.getId()); catCgwjxxQueryWrapper.eq("yszt", 3); List catCgwjxxList = catCgwjxxService.list(catCgwjxxQueryWrapper); //如果没有文件级,只添加案卷级数据 if (catCgwjxxList.size() == 0) { BorrowDetail borrowDetail = new BorrowDetail(); borrowDetail.setFileId(catAjjxx.getId()); borrowDetail.setFileTitle(catAjjxx.getZlmc()); borrowDetail.setArchivalCode(catAjjxx.getSgdh()); borrowDetail.setCreateTime(new Date()); borrowDetail.setCreateUserId(user.getUserId()); borrowDetail.setCreateUserName(user.getTrueName()); borrowDetail.setFormId(0L); borrowDetail.setBorrowType(0); borrowDetail.setPaper(0); borrowDetail.setElectronic(0); borrowDetail.setOriginal(0); borrowDetailService.saveOrUpdate(borrowDetail); } for (CatCgwjxx catCgwjxx : catCgwjxxList) { if (catCgwjxx.getSecurityCode() == null || (catCgwjxx.getSecurityCode() != null && catCgwjxx.getSecurityCode() <= userSecurityCode)) { BorrowDetail borrowDetail = new BorrowDetail(); borrowDetail.setFileId(catAjjxx.getId()); borrowDetail.setItemId(catCgwjxx.getId()); borrowDetail.setFileTitle(catAjjxx.getZlmc()); borrowDetail.setItemTitle(catCgwjxx.getWjtm()); borrowDetail.setItemNumber(catCgwjxx.getWjm()); borrowDetail.setArchivalCode(catAjjxx.getSgdh()); borrowDetail.setSecurityClassification(catCgwjxx.getWjmj()); borrowDetail.setSecurityPageNum(catCgwjxx.getSmym()); borrowDetail.setCreateTime(new Date()); borrowDetail.setCreateUserId(user.getUserId()); borrowDetail.setCreateUserName(user.getTrueName()); borrowDetail.setFormId(0L); borrowDetail.setBorrowType(0); borrowDetail.setPaper(0); borrowDetail.setElectronic(0); borrowDetail.setOriginal(0); borrowDetail.setPaperBorrow(catCgwjxx.getJyzt()); borrowDetailService.saveOrUpdate(borrowDetail); count++; } } return count; } /** * 添加成果文件级信息 * * @param catAjjxx */ @Override public Integer setCgwjxxByIds(List idList) { int count = 0; Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession(); User user = (User) session.getAttribute("user"); Integer userSecurityCode = 3; for (Long id : idList) { CatCgwjxx catCgwjxx = catCgwjxxService.getById(id); if (catCgwjxx.getSecurityCode() == null || (catCgwjxx.getSecurityCode() != null && catCgwjxx.getSecurityCode() <= userSecurityCode)) { BorrowDetail borrowDetail = new BorrowDetail(); CatAjjxx catAjjxx = catAjjxxService.getById(catCgwjxx.getAjId()); if (catAjjxx != null) { borrowDetail.setFileId(catAjjxx.getId()); borrowDetail.setFileTitle(catAjjxx.getZlmc()); borrowDetail.setArchivalCode(catAjjxx.getSgdh()); } else { borrowDetail.setFileId(0L); borrowDetail.setFileTitle("无"); borrowDetail.setArchivalCode("无"); } borrowDetail.setItemId(catCgwjxx.getId()); borrowDetail.setItemTitle(catCgwjxx.getWjtm()); borrowDetail.setItemNumber(catCgwjxx.getWjm()); borrowDetail.setItemCode(catCgwjxx.getDh()); borrowDetail.setSecurityClassification(catCgwjxx.getWjmj()); borrowDetail.setSecurityPageNum(catCgwjxx.getSmym()); borrowDetail.setCreateTime(new Date()); borrowDetail.setCreateUserId(user.getUserId()); borrowDetail.setCreateUserName(user.getTrueName()); borrowDetail.setFormId(0L); borrowDetail.setBorrowType(0); borrowDetail.setPaper(0); borrowDetail.setElectronic(0); borrowDetail.setOriginal(0); borrowDetail.setPaperBorrow(catCgwjxx.getJyzt()); borrowDetailService.saveOrUpdate(borrowDetail); } } return count; } /** * 添加原始文件级信息 * * @param catAjjxx */ @Override public Integer setYswjxx(CatAjjxx catAjjxx) { int count = 0; Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession(); User user = (User) session.getAttribute("user"); Integer userSecurityCode = 3; QueryWrapper catYswjxxQueryWrapper = new QueryWrapper<>(); catYswjxxQueryWrapper.eq("aj_id", catAjjxx.getId()); catYswjxxQueryWrapper.eq("yszt", 3); List catYswjxxList = catYswjxxService.list(catYswjxxQueryWrapper); //如果没有文件级,只添加案卷级数据 if (catYswjxxList.size() == 0) { BorrowDetail borrowDetail = new BorrowDetail(); borrowDetail.setFileId(catAjjxx.getId()); borrowDetail.setFileTitle(catAjjxx.getZlmc()); borrowDetail.setArchivalCode(catAjjxx.getSgdh()); borrowDetail.setCreateTime(new Date()); borrowDetail.setCreateUserId(user.getUserId()); borrowDetail.setCreateUserName(user.getTrueName()); borrowDetail.setFormId(0L); borrowDetail.setBorrowType(1); borrowDetail.setPaper(0); borrowDetail.setElectronic(0); borrowDetail.setOriginal(0); borrowDetailService.saveOrUpdate(borrowDetail); } for (CatYswjxx catYswjxx : catYswjxxList) { if (catYswjxx.getSecurityCode() == null || (catYswjxx.getSecurityCode() != null && catYswjxx.getSecurityCode() <= userSecurityCode)) { BorrowDetail borrowDetail = new BorrowDetail(); borrowDetail.setFileId(catAjjxx.getId()); borrowDetail.setItemId(catYswjxx.getId()); borrowDetail.setFileTitle(catAjjxx.getZlmc()); borrowDetail.setItemTitle(catYswjxx.getWjtm()); borrowDetail.setItemNumber(catYswjxx.getWjm()); borrowDetail.setArchivalCode(catAjjxx.getSgdh()); borrowDetail.setSecurityClassification(catYswjxx.getWjmj()); borrowDetail.setSecurityPageNum(catYswjxx.getSmym()); borrowDetail.setCreateTime(new Date()); borrowDetail.setCreateUserId(user.getUserId()); borrowDetail.setCreateUserName(user.getTrueName()); borrowDetail.setFormId(0L); borrowDetail.setBorrowType(1); borrowDetail.setPaper(0); borrowDetail.setElectronic(0); borrowDetail.setOriginal(0); borrowDetail.setPaperBorrow(catYswjxx.getJyzt()); borrowDetailService.saveOrUpdate(borrowDetail); count++; } } return count; } /** * 添加原始文件级信息 * * @param catAjjxx */ @Override public Integer setYswjxxByIds(List idList) { int count = 0; Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession(); User user = (User) session.getAttribute("user"); Integer userSecurityCode = 3; for (Long id : idList) { CatYswjxx catYswjxx = catYswjxxService.getById(id); if (catYswjxx != null && (catYswjxx.getSecurityCode() == null || (catYswjxx.getSecurityCode() != null && catYswjxx.getSecurityCode() <= userSecurityCode))) { BorrowDetail borrowDetail = new BorrowDetail(); CatAjjxx catAjjxx = catAjjxxService.getById(catYswjxx.getAjId()); if (catAjjxx != null) { borrowDetail.setFileId(catAjjxx.getId()); borrowDetail.setFileTitle(catAjjxx.getZlmc()); borrowDetail.setArchivalCode(catAjjxx.getDh()); } else { borrowDetail.setFileId(0L); borrowDetail.setFileTitle("无"); borrowDetail.setArchivalCode("无"); } borrowDetail.setItemId(catYswjxx.getId()); borrowDetail.setItemCode(catYswjxx.getDh()); borrowDetail.setItemTitle(catYswjxx.getWjtm()); borrowDetail.setItemNumber(catYswjxx.getWjm()); borrowDetail.setSecurityClassification(catYswjxx.getWjmj()); borrowDetail.setSecurityPageNum(catYswjxx.getSmym()); borrowDetail.setCreateTime(new Date()); borrowDetail.setCreateUserId(user.getUserId()); borrowDetail.setCreateUserName(user.getTrueName()); borrowDetail.setFormId(0L); borrowDetail.setBorrowType(1); borrowDetail.setPaper(0); borrowDetail.setElectronic(0); borrowDetail.setOriginal(0); borrowDetail.setPaperBorrow(catYswjxx.getJyzt()); borrowDetailService.saveOrUpdate(borrowDetail); count++; } } return count; } @Override public Integer getBorrowCount(Long keyId, Long userId) { QueryWrapper borrowDetailQueryWrapper = new QueryWrapper<>(); borrowDetailQueryWrapper.eq("item_id", keyId); borrowDetailQueryWrapper.eq("create_user_id", userId); borrowDetailQueryWrapper.eq("agree", 1); Integer count = borrowDetailService.count(borrowDetailQueryWrapper); return count; } }