server/src/main/java/com/doumee/api/common/PublicCloudController.java
@@ -166,7 +166,11 @@ // folder = systemDictDataBiz.queryByCode(Constants.FTP,folder).getCode(); Date d1 = new Date(); log.error("总得上传文件成功=============开始========="+DateUtil.getPlusTime2(d1)); folder =StringUtils.defaultString(folder).replace("/", ""); SystemDictData folderData = systemDictDataBiz.queryByCode(Constants.FTP,folder); if(Objects.isNull(folderData)||StringUtils.isBlank(folderData.getCode())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"目标文件夹错误"); } folder =folderData.getCode().replace("/", ""); String prefixPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode(); InputStream is = null; response.setCharacterEncoding("UTF-8"); server/src/main/java/com/doumee/api/web/WebCategoryController.java
@@ -38,11 +38,11 @@ @LoginRequired @GetMapping("/categoryTree") @ApiOperation("获取分类类别获取分类树") public ApiResponse<List<CategoryVO>> categoryVOTree(@RequestParam String categoryType, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token){ public ApiResponse<List<CategoryVO>> categoryVOTree(@RequestParam String categoryType,Integer categoryId, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token){ try { jwtTokenUtil.getUserInfoByToken(token); return ApiResponse.success(categoryService.getCategoryVOTree(categoryType)); return ApiResponse.success(categoryService.getCategoryVOTree(categoryType,categoryId)); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ @@ -54,11 +54,11 @@ @LoginRequired @GetMapping("/categoryList") @ApiOperation("获取分类类别获取分类列表") public ApiResponse<List<CategoryVO>> categoryList(Integer categoryType, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token){ public ApiResponse<List<CategoryVO>> categoryList(Integer categoryType,Integer isRoot ,@RequestHeader(JwtTokenUtil.HEADER_KEY) String token){ try { jwtTokenUtil.getUserInfoByToken(token); return ApiResponse.success(categoryService.getCategoryVOList(categoryType)); return ApiResponse.success(categoryService.getCategoryVOList(categoryType,isRoot)); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ server/src/main/java/com/doumee/api/web/WebWorkOrderController.java
@@ -54,11 +54,9 @@ @PostMapping("/create") public ApiResponse create (@RequestBody Workorder workorder, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token) { try { Member user = jwtTokenUtil.getUserInfoByToken(token); workorder.setMemberId(user.getId()); workorderService.create(workorder); return ApiResponse.success("操作成功"); return ApiResponse.success(workorderService.create(workorder)); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java
@@ -81,6 +81,7 @@ return null; } public static QywxSendMsgResponse sendMsg(String token, QywxSendMsgRequest param) { try{ String[] interfaceUrl = QywxConstant.SEND_MSG; String url = interfaceUrl[0].replace("${accesstoken}",token); QywxSendMsgResponse response = sendHttpRequestSingle(url,interfaceUrl[1],JSONObject.toJSONString(param) @@ -88,6 +89,10 @@ if(response.getErrcode()!=null && response.getErrcode() ==0){ return response; } }catch (Exception e){ } return null; } public static List<QywxUserListResponse> getUserList(String token,String depatId) { server/src/main/java/com/doumee/core/utils/qiyeweixin/model/response/QywxBaseSingleResponse.java
@@ -16,6 +16,6 @@ private Integer errcode; @ApiModelProperty(value = "返回码提示语") private boolean errmsg; private String errmsg; } server/src/main/java/com/doumee/dao/business/model/Managers.java
@@ -74,6 +74,9 @@ @ApiModelProperty(value = "员工手机号") @TableField(exist = false) private String memberPhone; @ApiModelProperty(value = "企微主键", example = "1") @TableField(exist = false) private String qwId; @ApiModelProperty(value = "姓名/手机号/部门") @TableField(exist = false) server/src/main/java/com/doumee/service/business/CategoryService.java
@@ -102,9 +102,9 @@ * @param categoryType * @return */ List<CategoryVO> getCategoryVOTree(String categoryType); List<CategoryVO> getCategoryVOTree(String categoryType,Integer categoryId); List<CategoryVO> getCategoryVOList(Integer categoryType); List<CategoryVO> getCategoryVOList(Integer categoryType,Integer isRoot); List<Category> treeList(Category param ); } server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -268,10 +268,11 @@ @Override public List<CategoryVO> getCategoryVOTree(String categoryType){ public List<CategoryVO> getCategoryVOTree(String categoryType,Integer categoryId){ List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda() .eq(Category::getIsdeleted, Constants.ZERO) .in(Objects.nonNull(categoryType),Category::getType,categoryType.split(",")) .apply(Objects.nonNull(categoryId)," find_in_set("+categoryId+", REPLACE(ID_PATH,'/',',') ) ") .orderByAsc(Category::getSortnum,Category::getId) ); List<CategoryVO> categoryVOList = new ArrayList<>(); @@ -291,10 +292,11 @@ @Override public List<CategoryVO> getCategoryVOList(Integer categoryType){ public List<CategoryVO> getCategoryVOList(Integer categoryType,Integer isRoot){ List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda() .eq(Category::getIsdeleted, Constants.ZERO) .eq(Objects.nonNull(categoryType),Category::getType,categoryType) .isNull(Constants.equalsInteger(isRoot,Constants.ONE),Category::getParentId) .orderByAsc(Category::getSortnum,Category::getId) ); List<CategoryVO> categoryVOList = new ArrayList<>(); server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -75,6 +75,7 @@ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(Workorder workorder) { this.isValidBaseParam(workorder); workorder.setCreateDate(new Date()); @@ -117,8 +118,11 @@ * @param csInfo 抄送信息 */ public void sendQwMsg(Workorder workorder,String qwIds,Member member,String categoryName,Integer contentType,String csInfo){ if(StringUtils.isEmpty(qwIds)){ return; } QywxSendMsgRequest qywxSendMsgRequest = new QywxSendMsgRequest(); qywxSendMsgRequest.setMsgtype("text"); qywxSendMsgRequest.setMsgtype("textcard"); qywxSendMsgRequest.setTouser(qwIds.replace(",","|")); qywxSendMsgRequest.setAgentid(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_AGENTID).getCode()); String sendUser = ""; @@ -197,6 +201,9 @@ List<Multifile> multifileList = workorder.getMultifileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ for (Multifile multifile:multifileList) { if(StringUtils.isEmpty(multifile.getFileurl())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"附件信息错误!"); } multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(workorder.getId()); multifile.setCreateDate(new Date()); @@ -212,11 +219,14 @@ * @param workorder */ public void saveProblemData(Workorder workorder){ if(Constants.equalsInteger(workorder.getType(),Constants.TWO)){ if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){ List<DCANoProblemDTO> dcaNoProblemDTOList = workorder.getDcaNoProblemDTOList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dcaNoProblemDTOList)){ for (DCANoProblemDTO dcaNoProblemDTO:dcaNoProblemDTOList) { Category problem = categoryMapper.selectById(dcaNoProblemDTO.getProblemId()); if(!Constants.equalsInteger(problem.getType(),6)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"题目分类错误"); } Constants.WorkOrderStatus workOrderStatus = Constants.WorkOrderStatus.waitConfirm; Workorder dcaWorkOrder = new Workorder(); dcaWorkOrder.setCreateDate(new Date()); @@ -265,9 +275,10 @@ } } //跌绊滑事件上报 查询SHE负责人 if(Constants.equalsInteger(workorder.getType(),Constants.THREE) || Constants.equalsInteger(workorder.getType(),Constants.ONE)){ if(Constants.equalsInteger(workorder.getType(),Constants.THREE) || Constants.equalsInteger(workorder.getType(),Constants.ONE)|| Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ List<Managers> managersList = managersMapper.selectJoinList(Managers.class,new MPJLambdaWrapper<Managers>().selectAll(Managers.class) .selectAs(Member::getName,Managers::getMemberName) .selectAs(Member::getQwId,Managers::getQwId) .leftJoin(Member.class,Member::getId,Managers::getMemberId) .eq(Managers::getIsdeleted,Constants.ZERO) .eq(Managers::getType,Constants.ZERO).orderByAsc(Managers::getSortnum) @@ -276,14 +287,12 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"未查询到SHE处理抄送人员"); } if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(managersList)){ workorder.setQwnoticeMemberIds(managersList.stream().map(i->i.getMemberId().toString()).collect(Collectors.joining(","))); workorder.setQwnoticeMemberIds(managersList.stream().filter(i->Constants.equalsInteger(i.getIsQw(),Constants.ONE)).map(i->i.getQwId()).collect(Collectors.joining(","))); if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ workorder.setEmialMemberIds(managersList.stream().map(i->i.getMemberId().toString()).collect(Collectors.joining(","))); workorder.setEmialMemberIds(managersList.stream().filter(i->Constants.equalsInteger(i.getIsEmail(),Constants.ONE)).map(i->i.getQwId()).collect(Collectors.joining(","))); } } } } @@ -351,7 +360,7 @@ if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){ if(Objects.isNull(workorder.getDcaYesNum()) || Objects.isNull(workorder.getDcaNoNum()) || Objects.isNull(workorder.getCategoryId()) // || Objects.isNull(workorder.getCategoryId()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } @@ -417,8 +426,12 @@ if(org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId())){ List<String> closeUserList = new ArrayList<>(); closeUserList.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(","))); closeUserList.add(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getManagerId())?workorder.getManagerId():null); closeUserList.add(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getDealerId())?workorder.getDealerId():null); if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getManagerId())){ closeUserList.add(workorder.getManagerId()); } if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getDealerId())){ closeUserList.add(workorder.getDealerId()); } workorder.setCloseButton(closeUserList.stream().filter(i->i.equals(member.getQwId())).collect(Collectors.toList()).size()>Constants.ZERO?Constants.ONE:Constants.ZERO); List<String> passOnUserList = new ArrayList<>(); //待分配状态 处理转交按钮 @@ -533,6 +546,9 @@ .leftJoin(Member.class,Member::getId,Workorder::getMemberId) .leftJoin(" category c3 on t.TYPE_ID = c3.id ") //风险类型 .leftJoin(" category c2 on t.CATEGORY_ID = c2.id ") //DCA一级问题编码 .apply(Objects.nonNull(pageWrap.getMyWorkOrder())&& org.apache.commons.lang3.StringUtils.isNotBlank(pageWrap.getQwId()) &&Constants.equalsInteger(Constants.ONE,pageWrap.getMyWorkOrder()), " ( t.id in ( select OBJ_ID from notices where param1 = '"+pageWrap.getQwId()+"' and type != 3 )) ") .eq( pageWrap.getId() != null, Workorder::getId, pageWrap.getId()) .eq( pageWrap.getCreator() != null, Workorder::getCreator, pageWrap.getCreator()) .ge( pageWrap.getCreateDate() != null, Workorder::getCreateDate, Utils.Date.getStart( pageWrap.getCreateDate())) @@ -611,9 +627,11 @@ }else if(Constants.equalsInteger(type,Constants.THREE)){ key = "A"; } String code = redisTemplate.opsForValue().get(key+"_CODE").toString(); if(StringUtils.isEmpty(code)){ code = "01"; String code = "01"; try{ code = redisTemplate.opsForValue().get(key+"_CODE").toString(); }catch (Exception e){ } redisTemplate.opsForValue().set(key+"_CODE",Integer.valueOf(code)+1); return key + date + org.apache.commons.lang3.StringUtils.leftPad(code,2,"0");