From 659d746b6c7d752c1b85544a34250df51a766ce6 Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期六, 20 八月 2022 09:13:25 +0800
Subject: [PATCH] 产品下载

---
 src/main/java/com/whyc/service/WorksheetMainService.java |  521 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 487 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorksheetMainService.java b/src/main/java/com/whyc/service/WorksheetMainService.java
index 989bd7b..f4ae2ec 100644
--- a/src/main/java/com/whyc/service/WorksheetMainService.java
+++ b/src/main/java/com/whyc/service/WorksheetMainService.java
@@ -2,21 +2,28 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.whyc.config.EnumWorksheetType;
+import com.whyc.dto.Response;
 import com.whyc.dto.WorksheetMainDTO;
+import com.whyc.dto.WorksheetMainDTO2;
 import com.whyc.mapper.DocUserMapper;
 import com.whyc.mapper.WorksheetLinkMapper;
 import com.whyc.mapper.WorksheetMainMapper;
-import com.whyc.pojo.DocUser;
-import com.whyc.pojo.ProductBomApproving;
-import com.whyc.pojo.WorksheetLink;
-import com.whyc.pojo.WorksheetMain;
+import com.whyc.pojo.*;
+import com.whyc.util.CommonUtil;
+import com.whyc.util.Zip4jUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import sun.print.PSPrinterJob;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -37,19 +44,128 @@
     private DocUserMapper userMapper;
 
     @Autowired
+    @Lazy
     private ProductBomApprovingService approvingService;
 
+    @Autowired
+    private MaterialProductApprovingService cpApprovingService;
+
+    @Autowired
+    private MaterialApprovingService cApprovingService;
+
+    @Autowired
+    private MaterialService cService;
+
+    @Autowired
+    private ProductBomService pbService;
+
+    @Autowired
+    private MaterialProductHistoryService cphService;
+
+    @Autowired
+    private ProductSoftwareApprovingService psaService;
+
     @Transactional
-    public boolean submit(WorksheetMainDTO mainDTO, DocUser user) {
-        WorksheetMain main = mainDTO.getMain();
-        List<ProductBomApproving> bomList = mainDTO.getBomList();
+    public boolean submit(WorksheetMain main, DocUser user) {
+        main.setType(1);
+        List<ProductBomApproving> bomList = main.getApprovingBomList();
+        int rejectVersion=-1;
         //鎻愪氦涓昏〃
         main.setCreateUserId(user.getId());
         //鎻愪氦浜鸿鑹叉潵鍒ゆ柇宸ヤ綔娴佸眰绾�
         if(user.getRoleId().equals("1001")){
-            main.setLevel(2);
-            main.setStatus(1);
+            if(main.getId()==null) {
+                main.setLevel(2);
+                main.setStatus(1);
+                mainMapper.insert(main);
+            }else {
+                rejectVersion = approvingService.getRejectVersion(main.getId());
+            }
+            //鎻愪氦瀛愯〃
+            WorksheetLink link =new WorksheetLink();
+            link.setMainId(main.getId());
+            link.setParentId(0);
+            link.setDealUserId(main.getNextUser());
+            link.setDealType(1);
+            link.setDealDesc(main.getDealDesc());
+            link.setLinkStatus(0);
+            link.setEnableArchive(0);
+            link.setRejectVersion(rejectVersion+1);
+            linkMapper.insert(link);
+        }
+        else if(user.getRoleId().equals("1002")){
+            if(main.getId()==null) {
+                main.setLevel(1);
+                main.setStatus(2);
+                mainMapper.insert(main);
+            }else {
+                rejectVersion = approvingService.getRejectVersion(main.getId());
+            }
+            //鎻愪氦瀛愯〃
+            WorksheetLink link =new WorksheetLink();
+            link.setMainId(main.getId());
+            link.setParentId(0);
+            link.setDealUserId(main.getNextUser());
+            link.setDealType(2);
+            link.setDealDesc(main.getDealDesc());
+            link.setLinkStatus(0);
+            link.setEnableArchive(1);
+            link.setRejectVersion(rejectVersion+1);
+            linkMapper.insert(link);
+        }
+        else if(user.getRoleId().equals("1003")){
+            main.setLevel(0);
+            main.setStatus(5);
             mainMapper.insert(main);
+        }else{
+            return false;
+        }
+        //浜у搧bom/鍥剧焊鍥剧墖鎻愪氦
+        //鏌ヨ褰撳墠椹冲洖鐗堟湰
+        int nextRejectVersion = rejectVersion+1;
+        bomList.forEach(bom->{
+            bom.setMainId(main.getId());
+            bom.setUpUserId(user.getId());
+            //lxw娉ㄩ噴
+            //bom.setRejectVersion(nextRejectVersion);
+            bom.setCreateDate(new Date());
+            if(bom.getDwgUrl()==null){
+                bom.setDwgUrl("");
+            }else {
+                bom.setDwgUrl(bom.getDwgUrl());
+            }
+            if(bom.getFileUrl()==null){
+                bom.setFileUrl("");
+            }else {
+                bom.setFileUrl(bom.getFileUrl());
+            }
+            if(bom.getPictureUrl()==null){
+                bom.setPictureUrl("");
+            }else{
+                bom.setPictureUrl(bom.getPictureUrl());
+            }
+        });
+        approvingService.insert(bomList);
+        return true;
+    }
+
+    public boolean MaterialProductSubmit(WorksheetMainDTO mainDTO, DocUser user) {
+        List<MaterialProductApproving> approvingList = new LinkedList<>();
+        WorksheetMain main = mainDTO.getMain();
+        List<MaterialProductApproving> addedList = mainDTO.getAddedList();
+        List<MaterialProductApproving> replacedList = mainDTO.getReplacedList();
+        List<MaterialProductApproving> removedList = mainDTO.getRemovedList();
+
+        main.setType(EnumWorksheetType.MaterialProduct.getType());
+        //鎻愪氦涓昏〃
+        main.setCreateUserId(user.getId());
+        //鎻愪氦浜鸿鑹叉潵鍒ゆ柇宸ヤ綔娴佸眰绾�
+        if(user.getRoleId().equals("1001")){
+            if(main.getId()==null) {
+                main.setLevel(2);
+                main.setStatus(1);
+                mainMapper.insert(main);
+            }
             //鎻愪氦瀛愯〃
             WorksheetLink link =new WorksheetLink();
             link.setMainId(main.getId());
@@ -62,9 +178,11 @@
             linkMapper.insert(link);
         }
         else if(user.getRoleId().equals("1002")){
-            main.setLevel(1);
-            main.setStatus(2);
-            mainMapper.insert(main);
+            if(main.getId()==null) {
+                main.setLevel(1);
+                main.setStatus(2);
+                mainMapper.insert(main);
+            }
             //鎻愪氦瀛愯〃
             WorksheetLink link =new WorksheetLink();
             link.setMainId(main.getId());
@@ -83,10 +201,239 @@
         }else{
             return false;
         }
-        //浜у搧bom/鍥剧焊鍥剧墖鎻愪氦
-        bomList.forEach(bom->bom.setMainId(main.getId()));
-        approvingService.insert(bomList);
+        //鏁h浠�-浜у搧瀹℃壒鎻愪氦
+        if(addedList!=null && addedList.size()!=0){
+            addedList.forEach(item->{
+                item.setMainId(main.getId());
+                item.setLinkType(1);
+            });
+            approvingList.addAll(addedList);
+        }
+        if(replacedList!=null && replacedList.size()!=0){
+            replacedList.forEach(item->{
+                item.setMainId(main.getId());
+                item.setLinkType(2);
+            });
+            approvingList.addAll(replacedList);
+        }
+        if(removedList!=null && removedList.size()!=0){
+            removedList.forEach(item->{
+                item.setMainId(main.getId());
+                item.setLinkType(-1);
+            });
+            approvingList.addAll(removedList);
+        }
+        cpApprovingService.insert(approvingList);
         return true;
+    }
+
+    public Response MaterialSubmit(WorksheetMain main, DocUser user) {
+        Response<Object> response = new Response<>();
+        List<MaterialApproving> cApprovingList = main.getCApprovingList();
+        //鍒ゆ柇鏄柊澧炶繕鏄垹闄�
+        boolean isAdded = cApprovingList.get(0).getSubName()!=null;
+        if(isAdded) { //鏂板
+            //鏌ヨ鏄惁鏈� 宸茬敓鏁堟垨鑰呭凡鎻愪氦瀹℃壒鐨� 鐩稿悓鐨勬暎瑁呬欢
+            List<Material> existMaterialList = new LinkedList<>();
+            List<MaterialApproving> existCAList = new LinkedList<>();
+
+            List<Material> MaterialList = cService.getList();
+            List<MaterialApproving> cAList = cApprovingService.getListByStatus(1);
+            for (int i = 0; i < cApprovingList.size(); i++) {
+                MaterialApproving MaterialApproving = cApprovingList.get(i);
+                for (int j = 0; j < MaterialList.size(); j++) {
+                    if (MaterialApproving.getSubCode().equals(MaterialList.get(j).getSubCode())
+                            && MaterialApproving.getSubName().equals(MaterialList.get(j).getSubName())
+                            && MaterialApproving.getSubModel().equals(MaterialList.get(j).getSubModel())
+                    ) {
+                        existMaterialList.add(MaterialList.get(j));
+                    }
+                }
+
+                for (int j = 0; j < cAList.size(); j++) {
+                    if (MaterialApproving.getSubCode().equals(cAList.get(j).getSubCode())
+                            && MaterialApproving.getSubName().equals(cAList.get(j).getSubName())
+                            && MaterialApproving.getSubModel().equals(cAList.get(j).getSubModel())
+                    ) {
+                        existCAList.add(cAList.get(j));
+                    }
+                }
+            }
+
+            int existCASize = existCAList.size();
+            int existMaterialSize = existMaterialList.size();
+            if (existCASize != 0) {
+                if (existMaterialSize != 0) {
+                    response.setII(21, existCAList, existMaterialList, "閲嶅鎻愪氦:鐜版湁鏁h浠跺強姝e湪杩涜瀹℃壒鐨勬暎瑁呬欢涓�,瀛樺湪褰撳墠鎻愪氦涓婁紶鐨勬暎瑁呬欢");
+                } else {
+                    response.set(22, existCAList, "閲嶅鎻愪氦:姝e湪杩涜瀹℃壒鐨勬暎瑁呬欢涓�,瀛樺湪褰撳墠鎻愪氦涓婁紶鐨勬暎瑁呬欢");
+                }
+                return response;
+            } else {
+                if (existMaterialSize != 0) {
+                    return response.setII(23, null, existMaterialList, "閲嶅鎻愪氦:鐜版湁鏁h浠朵腑,瀛樺湪褰撳墠鎻愪氦涓婁紶鐨勬暎瑁呬欢");
+                }
+            }
+        }else{ //鍒犻櫎
+            //鍒ゆ柇鏄惁鍦ㄦ暎瑁呬欢瀹℃壒鍒犻櫎涓�,鏄惁瀛樺湪浜у搧鍏宠仈鍙婂叧鑱斿鎵�
+            MaterialApproving deleteApproving = new MaterialApproving();
+            List<MaterialProductHistory> existMaterialProducts = new LinkedList<>();
+            List<MaterialProductApproving> existMaterialProductApprovingList = new LinkedList<>();
+            deleteApproving = cApprovingService.getListByMaterialId(cApprovingList.get(0).getMaterialId());
+
+            //鏌ョ湅浜у搧鍏宠仈
+            List<MaterialProductHistory> cphLatestExistList =  cphService.getLatestExistListByMaterialId(cApprovingList.get(0).getMaterialId());
+            //鏌ョ湅浜у搧鍏宠仈瀹℃壒
+            //lxw娉ㄩ噴
+            //List<MaterialProductApproving> cpaLatestExistList = cpApprovingService.getLatestExistListByMaterialId(cApprovingList.get(0).getMaterialId());
+            List<MaterialProductApproving> cpaLatestExistList =new ArrayList<>();
+            if(deleteApproving!=null){
+                return response.set(31,deleteApproving,"鎷掔粷鏈鍒犻櫎鐢宠,褰撳墠鏁h浠舵鍦ㄨ繘琛屽垹闄ゅ鎵�");
+            }
+            if(cphLatestExistList!=null && cphLatestExistList.size()!=0){
+                if(cpaLatestExistList!=null && cpaLatestExistList.size()!=0){
+                    return response.setII(32,cpaLatestExistList,cphLatestExistList,"鎷掔粷鏈鍒犻櫎鐢宠,褰撳墠鏁h宸茬粡鍏宠仈浜у搧鍙婂湪浜у搧鍏宠仈瀹℃壒");
+                }else{
+                    return response.setII(33,null,cphLatestExistList,"鎷掔粷鏈鍒犻櫎鐢宠,褰撳墠鏁h浠跺湪浜у搧鍏宠仈瀹℃壒");
+                }
+            }else{
+                if(cpaLatestExistList!=null && cpaLatestExistList.size()!=0){
+                    return response.set(34,cpaLatestExistList,"鎷掔粷鏈鍒犻櫎鐢宠,褰撳墠鏁h浠跺凡缁忓叧鑱斾骇鍝�");
+                }
+            }
+
+        }
+        main.setType(EnumWorksheetType.Material.getType());
+        //鎻愪氦涓昏〃
+        main.setCreateUserId(user.getId());
+        //鎻愪氦浜鸿鑹叉潵鍒ゆ柇宸ヤ綔娴佸眰绾�
+        if(user.getRoleId().equals("1001")){
+            if(main.getId()==null) {
+                main.setLevel(2);
+                main.setStatus(1);
+                mainMapper.insert(main);
+            }
+            //鎻愪氦瀛愯〃
+            WorksheetLink link =new WorksheetLink();
+            link.setMainId(main.getId());
+            link.setParentId(0);
+            link.setDealUserId(main.getNextUser());
+            link.setDealType(1);
+            link.setDealDesc(main.getDealDesc());
+            link.setLinkStatus(0);
+            link.setEnableArchive(0);
+            linkMapper.insert(link);
+        }
+        else if(user.getRoleId().equals("1002")){
+            if(main.getId()==null) {
+                main.setLevel(1);
+                main.setStatus(2);
+                mainMapper.insert(main);
+            }
+            //鎻愪氦瀛愯〃
+            WorksheetLink link =new WorksheetLink();
+            link.setMainId(main.getId());
+            link.setParentId(0);
+            link.setDealUserId(main.getNextUser());
+            link.setDealType(2);
+            link.setDealDesc(main.getDealDesc());
+            link.setLinkStatus(0);
+            link.setEnableArchive(1);
+            linkMapper.insert(link);
+        }
+        else if(user.getRoleId().equals("1003")){
+            main.setLevel(0);
+            main.setStatus(5);
+            mainMapper.insert(main);
+        }else{
+            return response.set(3);
+        }
+        //鏁h浠�-瀹℃壒鎻愪氦
+        cApprovingList.forEach(cApproving->{
+            cApproving.setCreateDate(new Date());
+            cApproving.setMainId(main.getId());
+            cApproving.setStatus(1);
+        });
+
+        cApprovingService.insert(cApprovingList);
+        return response.set(1);
+    }
+
+    public Response productSoftwareSubmit(MultipartFile file, WorksheetMainDTO2 mainDTO, DocUser user) throws IOException {
+        Response response = new Response();
+        WorksheetMain main = mainDTO.getMain();
+        ProductSoftwareApproving approving = mainDTO.getApproving();
+
+        main.setType(1);
+        //鎻愪氦涓昏〃
+        main.setCreateUserId(user.getId());
+        //鎻愪氦浜鸿鑹叉潵鍒ゆ柇宸ヤ綔娴佸眰绾�
+        if(user.getRoleId().equals("1001")){
+            if(main.getId()==null) {
+                main.setLevel(2);
+                main.setStatus(1);
+                mainMapper.insert(main);
+            }
+            //鎻愪氦瀛愯〃
+            WorksheetLink link =new WorksheetLink();
+            link.setMainId(main.getId());
+            link.setParentId(0);
+            link.setDealUserId(main.getNextUser());
+            link.setDealType(1);
+            link.setDealDesc(main.getDealDesc());
+            link.setLinkStatus(0);
+            link.setEnableArchive(0);
+            linkMapper.insert(link);
+        }
+        else if(user.getRoleId().equals("1002")){
+            if(main.getId()==null) {
+                main.setLevel(1);
+                main.setStatus(2);
+                mainMapper.insert(main);
+            }
+            //鎻愪氦瀛愯〃
+            WorksheetLink link =new WorksheetLink();
+            link.setMainId(main.getId());
+            link.setParentId(0);
+            link.setDealUserId(main.getNextUser());
+            link.setDealType(2);
+            link.setDealDesc(main.getDealDesc());
+            link.setLinkStatus(0);
+            link.setEnableArchive(1);
+            linkMapper.insert(link);
+        }
+        else if(user.getRoleId().equals("1003")){
+            main.setLevel(0);
+            main.setStatus(5);
+            mainMapper.insert(main);
+        }else{
+            return response.set(1,false,"瑙掕壊鏃犳硶鎻愪氦瀹℃壒");
+        }
+        //杞寲涓哄鎵硅矾寰�
+        //妫�鏌ユ槸鍚︿负zip
+        boolean isZip = Zip4jUtil.checkZipFileParam(file);
+        if(!isZip){
+            return response.set(1,false,"涓婁紶鐨勬枃浠舵牸寮忎笉鏄痾ip");
+        }
+        //zip瀛樺偍璺緞:doc_file/product_approving/${username}/{dateFormat}/${timeStamp}
+        String rootFile = CommonUtil.getRootFile();
+        String dateFormat = new SimpleDateFormat("YYYY-MM").format(new Date());
+        long timeStamp = System.currentTimeMillis();
+        String productSoftwarePath =  File.separator + "product_software" + File.separator + user.getName() + File.separator + dateFormat+ File.separator + timeStamp;
+        String filePath = rootFile + productSoftwarePath;
+        String originalFilename = file.getOriginalFilename();
+        File zipFile = new File(filePath+File.separator+ originalFilename);
+        if(!zipFile.exists()){
+            zipFile.mkdirs();
+        }
+        file.transferTo(zipFile);
+        approving.setSoftwareUrl("doc_file"+productSoftwarePath+File.separator+ originalFilename);
+        approving.setSoftwareName(originalFilename);
+        approving.setCreateTime(new Date());
+        approving.setMainId(main.getId());
+        //浜у搧杞欢鎻愪氦
+        psaService.insert(approving);
+        return response.set(1,true, "鎻愪氦瀹屾垚");
     }
 
     public WorksheetMain getInfoById(Integer id) {
@@ -105,20 +452,24 @@
         main.setId(id);
         main.setStatus(status);
         main.setEndReason(endReason);
+        main.setEndTime(new Date());
         mainMapper.updateById(main);
     }
 
     /**
      * 鐢ㄦ埛瀵瑰簲鐨勫伐浣滃彴鏁版嵁鍒嗙被
      * @param user
-     * */
-    public Map<String, List<WorksheetMain>> getList(DocUser user) {
-        Map<String,List<WorksheetMain>> map = new HashMap<>();
+     * @return*/
+    public Map<String, Integer> getStatusStatistic(DocUser user) {
+        Map<String,Integer> map = new HashMap<>();
         switch (user.getRoleId()){
             //鏅�氬憳宸�
             case "1001":
                 {
                     //鏈鐞�(瀹℃壒涓�)/宸查┏鍥�/宸插鎵�
+                    map.put("rejected",0);
+                    map.put("approving",0);
+                    map.put("approved",0);
                     QueryWrapper<WorksheetMain> query = Wrappers.query();
                     query.eq("create_user_id",user.getId());
                     List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
@@ -126,20 +477,19 @@
                     groupingList.forEach((status,mainList)->{
                         switch (status){
                             case 0:{
-                                map.put("rejected",mainList);
+                                map.put("rejected",mainList.size());
                             }break;
                             case 1:
                             case 2:{
-                                List<WorksheetMain> addedMainList = map.get("approving");
-                                if(addedMainList ==null){
-                                    map.put("approving",mainList);
+                                Integer addedMainCount= map.get("approving");
+                                if(addedMainCount ==0){
+                                    map.put("approving",mainList.size());
                                 }else{
-                                    addedMainList.addAll(mainList);
-                                    map.put("approving",addedMainList);
+                                    map.put("approving",addedMainCount+mainList.size());
                                 }
                             }break;
                             case 5:{
-                                map.put("approved",mainList);
+                                map.put("approved",mainList.size());
                             }break;
                         }
                     });
@@ -150,6 +500,12 @@
                 {
                     //寰呭鐞�/宸插鐞�/灞炰簬鑷繁-瀹℃壒涓�/宸查┏鍥�/宸插鎵�
                     //灞炰簬鑷繁-瀹℃壒涓�/宸查┏鍥�/宸插鎵�
+                    map.put("rejected",0);
+                    map.put("approving",0);
+                    map.put("approved",0);
+                    map.put("handling",0);
+                    map.put("handled",0);
+
                     QueryWrapper<WorksheetMain> query = Wrappers.query();
                     query.eq("create_user_id",user.getId());
                     List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
@@ -157,13 +513,13 @@
                     groupingList.forEach((status,mainList)->{
                         switch (status){
                             case 0:{
-                                map.put("rejected",mainList);
+                                map.put("rejected",mainList.size());
                             }break;
                             case 2:{
-                                map.put("approving",mainList);
+                                map.put("approving",mainList.size());
                             }break;
                             case 5:{
-                                map.put("approved",mainList);
+                                map.put("approved",mainList.size());
                             }break;
                         }
                     });
@@ -175,11 +531,16 @@
                         linkList.forEach(link -> {mainList.add(link.getMain());});
                         switch (linkStatus){
                             case 0:{
-                                map.put("handling",mainList);
+                                map.put("handling",mainList.size());
                             }break;
                             case 1:
                             case 2:{
-                                map.put("handled",mainList);
+                                Integer addedMainCount= map.get("handled");
+                                if(addedMainCount ==0){
+                                    map.put("handled",mainList.size());
+                                }else{
+                                    map.put("handled",addedMainCount+mainList.size());
+                                }
                             }break;
                         }
                     });
@@ -189,6 +550,8 @@
             case "1003":
                 {
                     //寰呭鐞�/宸插鎵�
+                    map.put("handling",0);
+                    map.put("approved",0);
                     List<WorksheetLink> WorksheetLinkList = linkService.getInfoList(user.getId());
                     Map<Integer, List<WorksheetLink>> groupingLinkList = WorksheetLinkList.stream().collect(Collectors.groupingBy(WorksheetLink::getLinkStatus));
                     groupingLinkList.forEach((linkStatus,linkList)->{
@@ -196,22 +559,112 @@
                         linkList.forEach(link -> {mainList.add(link.getMain());});
                         switch (linkStatus){
                             case 0:{
-                                map.put("handling",mainList);
+                                map.put("handling",mainList.size());
                             }break;
                             case 1:
                             case 2:{
-                                map.put("handled",mainList);
+                                Integer addedMainCount= map.get("approved");
+                                if(addedMainCount ==0){
+                                    map.put("approved",mainList.size());
+                                }else{
+                                    map.put("approved",addedMainCount+mainList.size());
+                                }
                             }break;
                         }
                     });
                 }
                 break;
         }
+        //鏌ヨ鎴戠殑宸ュ崟鏁伴噺
+        QueryWrapper<WorksheetMain> query = Wrappers.query();
+        query.eq("create_user_id",user.getId());
+        Integer count = mainMapper.selectCount(query);
+        map.put("my",count);
 
         return map;
     }
 
     public WorksheetMain getLinkList(int id) {
-        return mainMapper.getLinkList(id);
+         //鍒ゆ柇鏄摢绉嶇被鍨嬬殑瀹℃壒,杩斿洖涓嶅悓鐨勭被鍨� 鍏蜂綋鏁版嵁
+        Integer type = getInfoById(id).getType();
+        if(type.intValue() == EnumWorksheetType.ProductBom.getType()) {
+            return mainMapper.getLinkList(id);
+        }else if(type.intValue() == EnumWorksheetType.Material.getType()){
+            //lxw娉ㄩ噴
+            //return mainMapper.getLinkListWithMaterials(id);
+            return null;
+        }else{ //鏁h浠�-浜у搧
+            //return mainMapper.getLinkListWithMaterialProducts(id);
+            return null;
+        }
     }
+
+    public Response<PageInfo<WorksheetMain>> getApprovingListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        QueryWrapper<WorksheetMain> query = Wrappers.query();
+        query.eq("create_user_id",user.getId()).in("status",1,2).orderByDesc("id");
+        List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
+        //鏌ヨ涓昏〃鐘舵�佸搴旂殑瀛愯〃
+        worksheetMainList.forEach(main -> {
+            main.setApprovingUser(linkService.getApprovingUser(main.getId()));
+        });
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getRejectedListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        QueryWrapper<WorksheetMain> query = Wrappers.query();
+        query.eq("create_user_id",user.getId()).in("status",0).orderByDesc("id");
+        List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getApprovedListPage(DocUser user, int pageNum, int pageSize) {
+        Response<PageInfo<WorksheetMain>> response = new Response<>();
+        PageHelper.startPage(pageNum,pageSize);
+        List<WorksheetMain> worksheetMainList = null;
+        //鑷繁鐨勫伐鍗�
+        if(!user.getRoleId().equals("1003")){
+            QueryWrapper<WorksheetMain> query = Wrappers.query();
+            query.eq("create_user_id",user.getId()).in("status",5).orderByDesc("id");
+            worksheetMainList = mainMapper.selectList(query);
+
+        }else{
+            //鎬荤粡鐞�,鑺傜偣瀹℃壒浜轰负鑷繁
+            worksheetMainList = linkService.getInfoList2(user.getId(),1);
+        }
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return response.set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getHandlingListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        List<WorksheetMain> worksheetMainList = linkService.getInfoList3(user.getId(),0);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getHandledListPage(DocUser user, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum,pageSize);
+        List<WorksheetMain> worksheetMainList = linkService.getInfoList3(user.getId(),1);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+    }
+
+    public WorksheetMain getInfo(int id) {
+         return mainMapper.selectById(id);
+    }
+
+    public Response<PageInfo<WorksheetMain>> getMyList(int pageNum, int pageSize, DocUser user) {
+        PageHelper.startPage(pageNum,pageSize);
+        QueryWrapper<WorksheetMain> query = Wrappers.query();
+        query.eq("create_user_id",user.getId()).orderByDesc("id");
+        List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
+        PageInfo<WorksheetMain> pageInfo = new PageInfo<>(worksheetMainList);
+        return new Response<PageInfo<WorksheetMain>>().set(1,pageInfo);
+
+    }
+
 }

--
Gitblit v1.9.1