| | |
| | | |
| | | } |
| | | //查询软件列表的信息 |
| | | 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,"软件信息返回"); |
| | | } |
| | |
| | | wrapper.eq("id",id); |
| | | wrapper.last("limit 1"); |
| | | Software software=mapper.selectOne(wrapper); |
| | | |
| | | String filename=software.getFileUrl().substring(software.getFileUrl().lastIndexOf("\\")+1); |
| | | try { |
| | | // 转码防止乱码 |
| | | //resp.addHeader("Content-Disposition", "attachment;filename=" + new String(softwareName.getBytes("UTF-8"), "ISO8859-1")); |
| | | resp.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode ( software.getFileName()+".zip", "utf-8")); |
| | | resp.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode (filename, "utf-8")); |
| | | OutputStream out = resp.getOutputStream(); |
| | | FileInputStream in = new FileInputStream(fileDirName+File.separator+software.getFileUrl()); |
| | | int len=0; |
| | |
| | | software1.setFileUrl(softwareHttpUrl+File.separator+file1Name); |
| | | software1.setExcelUrl(softwareHttpUrl+File.separator+file2Name); |
| | | software1.setCreateTime(date); |
| | | //锁定-专供测试人员才能解锁 |
| | | software1.setLockFlag(-1); |
| | | } |
| | | /* 取消自动锁定原来版本,因为新版本需要进行测试才能使用 |
| | | //锁定原来的所有版本:根据版号和软件类型 |
| | | lockByBoardNumberAndType(software.getBoardNumber(),software.getType()); |
| | | List<String> materialCodeList = softwareList.stream().map(Software::getApplyMaterialCode).collect(Collectors.toList()); |
| | | lockByBoardNumberAndTypeAndMaterialCode(software.getBoardNumber(),software.getType(),materialCodeList);*/ |
| | | //写入数据库 |
| | | insertBatch(softwareList); |
| | | return new Response().set(1,true,"上传完成"); |
| | | } |
| | | |
| | | private void lockByBoardNumberAndType(String boardNumber, String type) { |
| | | private void lockByBoardNumberAndTypeAndMaterialCode(String boardNumber, String type, List<String> materialCodeList) { |
| | | UpdateWrapper<Software> update = Wrappers.update(); |
| | | update.set("lock_flag",1) |
| | | .set("lock_reason","软件版本升级") |
| | | .set("local_reason","软件版本升级") |
| | | .eq("board_number",boardNumber) |
| | | .eq("type",type); |
| | | .eq("type",type) |
| | | .in("apply_material_code",materialCodeList); |
| | | mapper.update(null,update); |
| | | } |
| | | |
| | |
| | | return new Response().set(1,true,"更新完成"); |
| | | } |
| | | } |
| | | //根据软件id修改软件锁定状态 |
| | | |
| | | /** |
| | | * 根据软件唯一值字段修改软件锁定状态,这里选取fileUrl |
| | | * |
| | | * @param fileUrl |
| | | * @param lockFlag |
| | | * @param localReason |
| | | * @return |
| | | */ |
| | | public Response updateSoftwareLock(String fileUrl,int lockFlag,String localReason) { |
| | | String userName = ActionUtil.getUser().getName(); |
| | | if(lockFlag ==0){ |
| | | //只有李桂华才能解锁 待测试锁定的软件 |
| | | QueryWrapper<Software> query = Wrappers.query(); |
| | | query.eq("file_url",fileUrl).last(" limit 1"); |
| | | Software softwareInDB = mapper.selectOne(query); |
| | | if(softwareInDB.getLockFlag() == -1){ |
| | | if(!userName.equals("李桂华")){ |
| | | return new Response().set(1,false,"无权限解锁 待测试的软件"); |
| | | } |
| | | } |
| | | } |
| | | UpdateWrapper uwrapper=new UpdateWrapper(); |
| | | uwrapper.set("lock_flag",lockFlag); |
| | | uwrapper.set("local_reason",localReason); |
| | |
| | | int flag=mapper.update(null,uwrapper); |
| | | return new Response().set(1,flag>0,"锁定/解锁成功"); |
| | | } |
| | | |
| | | } |