lxw
2023-09-21 c0f194e692337993a996baf6a153598a21876ee1
src/main/java/com/whyc/service/SoftwareService.java
@@ -135,9 +135,9 @@
    }
    //查询软件列表的信息
    public Response getAllSoftware(String fileName,String applyMaterialCode,String applyModel,String owner, String boardNumber,int pageCurr, int pageSize) {
    public Response getAllSoftware(Integer lockFlag, String fileName, String applyMaterialCode, String applyModel, String owner, String boardNumber, int pageCurr, int pageSize) {
        PageHelper.startPage(pageCurr,pageSize);
        List list=mapper.getFileUrl(fileName,applyMaterialCode,applyModel,owner,boardNumber);
        List list=mapper.getFileUrl(lockFlag,fileName,applyMaterialCode,applyModel,owner,boardNumber);
        PageInfo pageInfo=new PageInfo(list);
        return new Response().setII(1,list.size()>0,pageInfo,"软件信息返回");
    }
@@ -180,11 +180,9 @@
            e.printStackTrace();
        }
        //记录日志
        DocUser docUser= ActionUtil.getUser();
        String operationDetail="具体软件名称为:"+software.getFileName();
        String opreationMsg="执行了软件下载操作";
        String terminalIp=req.getRemoteAddr();
        logService.recordOperationLog(docUser.getId(),docUser.getName(), UserOperation.TYPE_DOWNLOAD.getType(),new Date(),terminalIp,opreationMsg,operationDetail);
        logService.recordOperationLogDownLoad(ActionUtil.getUser().getId(),ActionUtil.getUser().getName(), UserOperation.TYPE_DOWNLOAD_SOFWARE.getType(),new Date(),req.getRemoteAddr()
                ,filename,fileDirName+File.separator+software.getFileUrl(),"",String.valueOf(id),software.getVersion());
    }
    @Transactional
@@ -238,6 +236,7 @@
                .set("local_reason","软件版本升级")
                .eq("board_number",boardNumber)
                .eq("type",type)
                .ne("lock_flag",-1)
                .in("apply_material_code",materialCodeList);
        mapper.update(null,update);
    }
@@ -271,22 +270,53 @@
            UpdateWrapper<Software> update = Wrappers.update();
            update.eq("file_name",softwareDB.getFileName());
            mapper.delete(update);
            String fontUpdateTime = softwareDB.getFontUpdateTime();
            softwareList.forEach(software2 -> {
                software2.setFileUrl(softwareDB.getFileUrl());
                software2.setExcelUrl(softwareHttpUrl + File.separator + originalFilename);
                software2.setCreateTime(new Date());
                software2.setLockFlag(-1);
                software2.setFontUpdateTime(fontUpdateTime);
            });
            mapper.insertBatchSomeColumn(softwareList);
            return new Response().set(1,true,"更新完成");
        }
    }
    //根据软件id修改软件锁定状态
    public Response updateSoftwareLock(String fileUrl,int lockFlag,String localReason) {
    /**
     * 根据软件唯一值字段修改软件锁定状态,这里选取fileUrl
     *
     * @param fileUrl
     * @param lockFlagNow
     * @param lockFlag
     * @param localReason
     * @return
     */
    public Response updateSoftwareLock(String fileUrl, int lockFlagNow, int lockFlag, String localReason) {
        String userName = ActionUtil.getUser().getName();
        if(lockFlag ==0){
            //只有李桂华才能解锁 待测试锁定的软件
            QueryWrapper<Software> query = Wrappers.query();
            query.eq("file_url",fileUrl);
            List<Software> softwareListInDB = mapper.selectList(query);
            Software softwareInDB = softwareListInDB.get(0);
            if(softwareInDB.getLockFlag() == -1){
                //if(!userName.equals("李桂华")){
                //    return new Response().set(1,false,"无权限解锁 待测试的软件");
                //}else{
                    //锁定原来的所有版本:根据版号和软件类型,排除待测试版本
                    List<String> materialCodeList = softwareListInDB.stream().map(Software::getApplyMaterialCode).collect(Collectors.toList());
                    lockByBoardNumberAndTypeAndMaterialCode(softwareInDB.getBoardNumber(),softwareInDB.getType(),materialCodeList);
                //}
            }
        }
        UpdateWrapper uwrapper=new UpdateWrapper();
        uwrapper.set("lock_flag",lockFlag);
        uwrapper.set("local_reason",localReason);
        uwrapper.eq("file_url",fileUrl);
        uwrapper.eq("lock_flag",lockFlagNow);
        int flag=mapper.update(null,uwrapper);
        return new Response().set(1,flag>0,"锁定/解锁成功");
    }