From 4f0d9bde31a80f6279e26466250da7716eec627f Mon Sep 17 00:00:00 2001
From: zs <zhoushuai@zbooksoft.com>
Date: 星期四, 18 十二月 2025 09:15:05 +0800
Subject: [PATCH] 提交成果资料按钮调整

---
 src/main/java/com/zbooksoft/gdmis/service/impl/BorrowDetailServiceImpl.java |  279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 277 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zbooksoft/gdmis/service/impl/BorrowDetailServiceImpl.java b/src/main/java/com/zbooksoft/gdmis/service/impl/BorrowDetailServiceImpl.java
index 424ce10..715c0fa 100644
--- a/src/main/java/com/zbooksoft/gdmis/service/impl/BorrowDetailServiceImpl.java
+++ b/src/main/java/com/zbooksoft/gdmis/service/impl/BorrowDetailServiceImpl.java
@@ -1,20 +1,295 @@
 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.service.BorrowDetailService;
+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;
 
 /**
  * <p>
  * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
- * @author cb
+ * @author zhai
  * @since 2020-01-03
  */
 @Service
 public class BorrowDetailServiceImpl extends ServiceImpl<BorrowDetailMapper, BorrowDetail> implements BorrowDetailService {
 
+    @Autowired
+    CatCgwjxxService catCgwjxxService;
+    @Autowired
+    CatYswjxxService catYswjxxService;
+
+    @Autowired
+    UtilizationUserService utilizationUserService;
+
+    @Autowired
+    BorrowDetailService borrowDetailService;
+
+    @Autowired
+    CatAjjxxService catAjjxxService;
+
+    @Override
+    public List<ParentBorrowInfo> selectDistinctParentBorrowInfo(Long createUserId) {
+        return this.baseMapper.selectDistinctParentBorrowInfo(createUserId);
+    }
+
+    /**
+     * 鑾峰彇鍏蜂綋鐢宠鍗曟鍗�
+     */
+    @Override
+    public List<ParentBorrowInfo> 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<CatCgwjxx> catCgwjxxQueryWrapper = new QueryWrapper<>();
+        catCgwjxxQueryWrapper.eq("aj_id", catAjjxx.getId());
+        catCgwjxxQueryWrapper.eq("yszt", 3);
+        List<CatCgwjxx> 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<Long> 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<CatYswjxx> catYswjxxQueryWrapper = new QueryWrapper<>();
+        catYswjxxQueryWrapper.eq("aj_id", catAjjxx.getId());
+        catYswjxxQueryWrapper.eq("yszt", 3);
+        List<CatYswjxx> 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<Long> 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<BorrowDetail> 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;
+    }
 }

--
Gitblit v1.9.1