whycxzp
2025-03-05 8bf7228d68776bf39a8f7fa0f3e16e84631d7188
src/main/java/com/whyc/service/BOMFeedbakService.java
@@ -13,9 +13,11 @@
import com.whyc.mapper.ProductHistoryMapper;
import com.whyc.pojo.BOMFeedback;
import com.whyc.pojo.DocUser;
import com.whyc.pojo.Product;
import com.whyc.pojo.ProductHistory;
import com.whyc.util.ActionUtil;
import com.whyc.util.CommonUtil;
import com.whyc.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -46,6 +48,10 @@
    @Resource
    private ProductHistoryMapper phisMapper;
    @Autowired
    private ProductService productService;
    //统计
    public Map<String, Integer> getFkStatistic(DocUser user,Map<String, Integer> map) {
        int sendFk=0;
@@ -83,7 +89,27 @@
    //查询发送者反馈不同状态
    public Response getSenderStatus(int[] flags,int pageCurr,int pageSize) {
        PageHelper.startPage(pageCurr,pageSize);
        List list=mapper.getSenderStatus(ActionUtil.getUser().getId(),flags);
        List<BOMFeedback> list=mapper.getSenderStatus(ActionUtil.getUser().getId(),flags);
        //获取路径
        String fileDirName = FileDirPath.getFileDirName();
        if(list!=null&&list.size()>0){
            for (int i=0;i<list.size();i++) {
                BOMFeedback feedback=list.get(i);
                String attachFilePath=fileDirName+File.separator+feedback.getFile();
                File start = new File(attachFilePath);
                String[] files =new String[]{};
                List attachList=new ArrayList();
                if(start.exists()) {
                    files= start.list();//获取该文件夹下的所有文件名字
                    if(files.length>=0){
                        for(int j=0;j<files.length;j++) {
                            attachList.add(feedback.getFile()+files[j]);
                        }
                    }
                }
                feedback.setAttachFiles(attachList);
            }
        }
        PageInfo pageInfo = new PageInfo(list);
        return new Response().setII(1,list.size()>0,pageInfo,"发送者反馈");
    }
@@ -92,12 +118,32 @@
        PageHelper.startPage(pageCurr,pageSize);
        String name=ActionUtil.getUser().getName();
        long id=ActionUtil.getUser().getId();
        List list=new ArrayList();
        List<BOMFeedback> list=new ArrayList();
        if(name.equals("杨红兰")){
            //当是杨红兰查看时,只有杨红兰的排在最前面
            list=mapper.getRecevierYHL(id,name,flags);
        }else{
            list=mapper.getRecevierStatus(id,flags);
        }
        //获取路径
        String fileDirName = FileDirPath.getFileDirName();
        if(list!=null&&list.size()>0){
            for (int i=0;i<list.size();i++) {
                BOMFeedback feedback=list.get(i);
                String attachFilePath=fileDirName+File.separator+feedback.getFile();
                File start = new File(attachFilePath);
                String[] files =new String[]{};
                List attachList=new ArrayList();
                if(start.exists()) {
                    files= start.list();//获取该文件夹下的所有文件名字
                    if(files.length>=0){
                        for(int j=0;j<files.length;j++) {
                            attachList.add(feedback.getFile()+files[j]);
                        }
                    }
                }
                feedback.setAttachFiles(attachList);
            }
        }
        PageInfo pageInfo = new PageInfo(list);
        return new Response().setII(1,list.size()>0,pageInfo,"接收者反馈");
@@ -200,13 +246,13 @@
        //String feedbackZipPath = "feedback_bom" + File.separator + username + "_" + time+".zip";
        //List<File> fileList = new LinkedList<>();
        String rootFile = CommonUtil.getRootFile();
        String feedbackDirSuffix = "feedback_bom" + File.separator + username + File.separator + time + File.separator;
        String feedbackDir = rootFile + feedbackDirSuffix;
        File fileDir = new File(feedbackDir);
        if (!fileDir.exists()) {
            fileDir.mkdirs();
        }
        if(multipartFileList!=null && multipartFileList.size()!=0){
            String feedbackDirSuffix = "feedback_bom" + File.separator + username + File.separator + time + File.separator;
            String feedbackDir = rootFile + feedbackDirSuffix;
            File fileDir = new File(feedbackDir);
            if (!fileDir.exists()) {
                fileDir.mkdirs();
            }
            for (int i = 0; i < multipartFileList.size(); i++) {
                MultipartFile multipartFile = multipartFileList.get(i);
                //存储文件
@@ -260,7 +306,10 @@
        }
        String subject = "【Bom问题反馈】-"+senderName;
        String content = feedback.getContent();
        //邮件内容,添加产品的相关信息
        Product product = productService.getById(feedback.getProductId());
        String content ="产品料号:"+product.getParentCode() + "\n产品名称:"+product.getParentName() + "\n产品型号:"+product.getParentModel() + "\n版本时间:"+ DateUtil.YYYY_MM_DD_HH_MM_SS.format(product.getVersionTime()) + "\n定制单号:"+product.getCustomCode() + "\n产品反馈内容:"+ feedback.getContent();
        MailDTO mailDTO = new MailDTO();
        mailDTO.setTitle(subject);
@@ -354,6 +403,26 @@
    public Response getListPage(BOMFeedback feedback, int pageNum, int pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<BOMFeedback> list = mapper.getListPage(feedback);
        //获取路径
        String fileDirName = FileDirPath.getFileDirName();
        if(list!=null&&list.size()>0){
            for (int i=0;i<list.size();i++) {
                BOMFeedback fb=list.get(i);
                String attachFilePath=fileDirName+File.separator+fb.getFile();
                File start = new File(attachFilePath);
                String[] files =new String[]{};
                List attachList=new ArrayList();
                if(start.exists()) {
                    files= start.list();//获取该文件夹下的所有文件名字
                    if(files.length>=0){
                        for(int j=0;j<files.length;j++) {
                            attachList.add(fb.getFile()+files[j]);
                        }
                    }
                }
                fb.setAttachFiles(attachList);
            }
        }
        PageInfo pageInfo = new PageInfo(list);
        return new Response().set(1,pageInfo);