| | |
| | | import com.doumee.core.utils.qiyeweixin.model.request.QywxTextCardMsgRequest; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.web.dto.CloseDTO; |
| | | import com.doumee.dao.web.dto.DCANoProblemDTO; |
| | | import com.doumee.dao.web.dto.PassOnDTO; |
| | | import com.doumee.dao.web.dto.*; |
| | | import com.doumee.dao.web.vo.WorkOrderDataVO; |
| | | import com.doumee.service.business.WorkorderService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | @Autowired |
| | | private CategoryMapper categoryMapper; |
| | | |
| | | @Autowired |
| | | private NoticesMapper noticesMapper; |
| | | |
| | | @Resource(name="sessionRedisTemplate") |
| | | private RedisTemplate<Object, Serializable> redisTemplate; |
| | | |
| | |
| | | Constants.WorkOrderStatus workOrderStatus = Constants.equalsInteger(workorder.getType(),Constants.ZERO)?Constants.WorkOrderStatus.close:Constants.WorkOrderStatus.waitConfirm; |
| | | workorder.setStatus(workOrderStatus.getKey()); |
| | | workorderMapper.insert(workorder); |
| | | |
| | | //åå¨DCA é®é¢è®°å½è¡¨ |
| | | this.saveProblemData(workorder); |
| | | //åå¨éä»¶ä¿¡æ¯ |
| | | this.saveMutiFile(workorder); |
| | | //å卿¥å¿ |
| | | this.dealLogData(workorder,workOrderStatus); |
| | | // åéä¼å¾®éç¥ |
| | | QywxSendMsgRequest qywxSendMsgRequest = new QywxSendMsgRequest(); |
| | | qywxSendMsgRequest.setTouser(workorder.getQwnoticeMemberIds().replace(",","|")); |
| | | qywxSendMsgRequest.setMsgtype("text"); |
| | | qywxSendMsgRequest.setAgentid(null); |
| | | QywxTextCardMsgRequest textCard = new QywxTextCardMsgRequest(); |
| | | textCard.setTitle(workOrderStatus.getLogTitle()); |
| | | |
| | | qywxSendMsgRequest.setTextcard(textCard); |
| | | QywxUtil.sendMsg(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(), |
| | | qywxSendMsgRequest); |
| | | |
| | | Member member = memberMapper.selectById(workorder.getMemberId()); |
| | | Category category = categoryMapper.selectById(workorder.getTypeId()); |
| | | if(Objects.nonNull(member)&&Objects.nonNull(category)){ |
| | | // åéä¼å¾®éç¥ |
| | | this.sendQwMsg(workorder,workorder.getQwnoticeMemberIds(),member,category.getName(),Constants.ZERO,null); |
| | | } |
| | | //åå¨å¾
å人åä¿¡æ¯ |
| | | this.saveNotice(Arrays.asList(workorder.getQwnoticeMemberIds().split(",")),workorder.getId(),Constants.ZERO,Constants.ZERO); |
| | | return workorder.getId(); |
| | | } |
| | | |
| | | |
| | | public void sendQwMsg(Workorder workorder){ |
| | | /** |
| | | * åééç¥ |
| | | * @param workorder |
| | | * @param qwIds æ¶æ¯æ¥æ¶äºº |
| | | * @param member æä½äººåç§° |
| | | * @param categoryName |
| | | * @param contentType 0=æ£å¸¸éç¥ï¼1=å¬ä¿ï¼2=æé 3=å·²å¤çä¸é¡¹/ä»»å¡å·²å¤ç |
| | | * @param csInfo æéä¿¡æ¯ |
| | | */ |
| | | public void sendQwMsg(Workorder workorder,String qwIds,Member member,String categoryName,Integer contentType,String csInfo){ |
| | | QywxSendMsgRequest qywxSendMsgRequest = new QywxSendMsgRequest(); |
| | | QywxTextCardMsgRequest textCard = new QywxTextCardMsgRequest(); |
| | | qywxSendMsgRequest.setMsgtype("text"); |
| | | qywxSendMsgRequest.setAgentid(null); |
| | | textCard.setBtntxt("详æ
"); |
| | | //æ°æäº¤ |
| | | if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){ |
| | | qywxSendMsgRequest.setTouser(workorder.getQwnoticeMemberIds().replace(",","|")); |
| | | textCard.setUrl(null); |
| | | //SHE æäº¤ |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | Category category = categoryMapper.selectById(workorder.getType()); |
| | | textCard.setTitle("ãSHEäºä»¶ä¸æ¥ã"); |
| | | String message = ""; |
| | | if(Constants.equalsInteger(workorder.getMemberType(),Constants.ZERO)){ |
| | | message = "æ¬äºº"; |
| | | }else { |
| | | message = Constants.equalsInteger(workorder.getMemberType(),Constants.ONE)?"åäº":"ä¾åºå"; |
| | | } |
| | | message = message + "-" + workorder.getMemberNames() + " " + DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") + workorder.getLocationName() + category.getName(); |
| | | textCard.setDescription(" <div class=\"normal\">"+message+"</div>"); |
| | | }else{ |
| | | |
| | | qywxSendMsgRequest.setTouser(qwIds.replace(",","|")); |
| | | qywxSendMsgRequest.setAgentid(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_AGENTID).getCode()); |
| | | String sendUser = ""; |
| | | if(Objects.nonNull(member)){ |
| | | if(org.apache.commons.lang3.StringUtils.isNotBlank(member.getName())){ |
| | | sendUser = member.getName(); |
| | | } |
| | | if(org.apache.commons.lang3.StringUtils.isNotBlank(member.getCompanyName())){ |
| | | sendUser = member.getCompanyName()+"/" + sendUser ; |
| | | } |
| | | } |
| | | QywxTextCardMsgRequest textCard = this.dealMessageContent(workorder,sendUser,categoryName,contentType,csInfo); |
| | | qywxSendMsgRequest.setTextcard(textCard); |
| | | QywxUtil.sendMsg(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(), |
| | | qywxSendMsgRequest); |
| | | } |
| | | |
| | | |
| | | // public QywxTextCardMsgRequest dealMessageContent(Workorder workorder,Integer type){ |
| | | // QywxTextCardMsgRequest textCard = new QywxTextCardMsgRequest(); |
| | | // String message = ""; |
| | | // if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | // Category category = categoryMapper.selectById(workorder.getType()); |
| | | // textCard.setTitle("ãSHEäºä»¶ä¸æ¥ã"); |
| | | // if(Constants.equalsInteger(workorder.getMemberType(),Constants.ZERO)){ |
| | | // message = "æ¬äºº"; |
| | | // }else { |
| | | // message = Constants.equalsInteger(workorder.getMemberType(),Constants.ONE)?"åäº":"ä¾åºå"; |
| | | // } |
| | | // message = message + "-" + workorder.getMemberNames() + " " + DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") + workorder.getLocationName() + category.getName(); |
| | | // textCard.setDescription(" <div class=\"normal\">"+message+"</div>"); |
| | | // }else{ |
| | | // textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"ãDCA䏿¥ã":"è·ç»æ»é£é©ä¸æ¥"); |
| | | // if(Constants.equalsInteger(workorder.getType(),Con)){ |
| | | // |
| | | // } |
| | | // |
| | | // |
| | | // |
| | | // } |
| | | // |
| | | // } |
| | | /** |
| | | * éç¥ææ¡æ´ç |
| | | * @param workorder |
| | | * @param userName æä½äººåç§° é¨é¨+åç§° |
| | | * @param categoryName |
| | | * @param contentType 0=æ£å¸¸éç¥ï¼1=å¬ä¿ï¼è·ç»æ»/DCAï¼ï¼2=æéï¼DCAï¼ 3=å·²å¤çä¸é¡¹/ä»»å¡å·²å¤ç |
| | | * @param csInfo æéä¿¡æ¯ |
| | | * @return |
| | | */ |
| | | public QywxTextCardMsgRequest dealMessageContent(Workorder workorder,String userName ,String categoryName,Integer contentType,String csInfo){ |
| | | QywxTextCardMsgRequest textCard = new QywxTextCardMsgRequest(); |
| | | String message = ""; |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | textCard.setTitle("ãSHEäºä»¶ä¸æ¥ã"); |
| | | if(Constants.equalsInteger(workorder.getMemberType(),Constants.ZERO)){ |
| | | message = "æ¬äºº"; |
| | | }else { |
| | | message = Constants.equalsInteger(workorder.getMemberType(),Constants.ONE)?"åäº":"ä¾åºå"; |
| | | } |
| | | message = message + "-" + workorder.getMemberNames() + " " + DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") + workorder.getLocationName() + categoryName; |
| | | textCard.setDescription(" <div class=\"normal\">"+message+"</div>"); |
| | | }else{ |
| | | textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"ãDCA䏿¥ã":"è·ç»æ»é£é©ä¸æ¥"); |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.THREE)){ |
| | | message = message + " <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"ç³»ç»") + (Constants.equalsInteger(contentType,Constants.ZERO)?"ä»»å¡åé
ç»ä½ ":(Constants.equalsInteger(contentType,Constants.ONE)?"对该工åè¿è¡äºå¬ä¿ï¼è¯·å°½å¿«å¤ç":"ä»»å¡å·²å¤ç")) +"</div>"; |
| | | message = message + " <div class=\"normal\">"+ DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") +"/"+ workorder.getLocationName() +"/"+ categoryName+"</div>"; |
| | | }else{ |
| | | message = message + " <div class=\"normal\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"ç³»ç»") + (Constants.equalsInteger(contentType,Constants.ZERO)?"ä»»å¡åé
ç»ä½ ":(Constants.equalsInteger(contentType,Constants.ONE)?"对该工åè¿è¡äºå¬ä¿ï¼è¯·å°½å¿«å¤ç":((Constants.equalsInteger(contentType,Constants.TWO)?"æéç»ä½ ":"å·²å¤çä¸é¡¹")))) +"</div>"; |
| | | message = message + " <div class=\"normal\">è§å¯ä¸»é¢"+ categoryName +"</div>"; |
| | | message = message + " <div class=\"normal\">符åï¼"+ workorder.getDcaYesNum() +" ä¸ç¬¦åï¼"+workorder.getDcaNoNum()+"</div>"; |
| | | if(Constants.equalsInteger(contentType,Constants.TWO)){ |
| | | message = message + " <div class=\"normal\">说æï¼"+ csInfo +"</div>"; |
| | | } |
| | | } |
| | | textCard.setDescription(message); |
| | | } |
| | | return textCard; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | dcaWorkOrder.setCreateDate(new Date()); |
| | | dcaWorkOrder.setEditDate(new Date()); |
| | | dcaWorkOrder.setMemberId(workorder.getMemberId()); |
| | | dcaWorkOrder.setTypeId(dcaNoProblemDTO.getProblemId()); |
| | | dcaWorkOrder.setTypeId(workorder.getTypeId()); |
| | | dcaWorkOrder.setCategoryId(Integer.toString(problem.getParentId())); |
| | | dcaWorkOrder.setType(Constants.TWO); |
| | | dcaWorkOrder.setStatus(workOrderStatus.getKey()); |
| | | dcaWorkOrder.setIsdeleted(Constants.ZERO); |
| | |
| | | .eq(Managers::getIsdeleted,Constants.ZERO) |
| | | .eq(Managers::getType,Constants.ZERO).orderByAsc(Managers::getSortnum) |
| | | ); |
| | | if(Objects.isNull(managersList)){ |
| | | 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(","))); |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){ |
| | | if(Objects.isNull(workorder.getDcaYesNum()) |
| | | || Objects.isNull(workorder.getDcaNoNum()) |
| | | || Objects.isNull(workorder.getCategoryId()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | |
| | | if(Objects.isNull(workorder)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°å·¥åæ°æ®"); |
| | | } |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"SHEå·¥åæ æ³è¿è¡è¯¥æä½"); |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)||Constants.equalsInteger(workorder.getType(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"SHEãDCAå·¥åæ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | | if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.sheClose.getKey())||Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.wtsClose.getKey())||Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.close.getKey())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"å·¥åç¶æå·²æµè½¬"); |
| | | } |
| | | //ä¼å¾®éç¥äºº ä¼å¾®ä¸»é® |
| | | List<String> qwIds = new ArrayList<>(); |
| | | //æäº¤åç å¾
确认/å¾
åå®¡ç¶æ 妿å»å
³é åªæå·¥åéç»å®çSHE人åå¯ä»¥å
³é |
| | | if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){ |
| | | //夿SHE人åå
æ¯å¦æå½åç»å½è´¦å· |
| | |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼å½åå·¥å鿍çå·¥åï¼æ æ³è¿è¡å¤ç"); |
| | | } |
| | | workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey()); |
| | | qwIds = Arrays.asList(workorder.getQwnoticeMemberIds()); |
| | | qwIds.remove(closeDTO.getMember().getQwId()); |
| | | }else if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey())){ |
| | | //夿SHE人åå
æ¯å¦æå½åç»å½è´¦å· |
| | | if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO && !workorder.getManagerId().equals(closeDTO.getMember().getQwId())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼å½åå·¥å鿍çå·¥åï¼æ æ³è¿è¡å¤ç"); |
| | | } |
| | | workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); |
| | | qwIds = Arrays.asList(workorder.getQwnoticeMemberIds()); |
| | | qwIds.add(workorder.getManagerId()); |
| | | qwIds.remove(closeDTO.getMember().getQwId()); |
| | | }else if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitDeal.getKey())){ |
| | | //夿SHE人åå
æ¯å¦æå½åç»å½è´¦å· |
| | | if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO && !workorder.getManagerId().equals(closeDTO.getMember().getQwId()) |
| | |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼å½åå·¥å鿍çå·¥åï¼æ æ³è¿è¡å¤ç"); |
| | | } |
| | | workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); |
| | | qwIds = Arrays.asList(workorder.getQwnoticeMemberIds()); |
| | | qwIds.add(workorder.getDealerId()); |
| | | qwIds.remove(closeDTO.getMember().getQwId()); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"å·¥åç¶æå·²æµè½¬"); |
| | | } |
| | |
| | | } |
| | | multifileMapper.insert(multifileList); |
| | | } |
| | | //åéä¼å¾®éç¥ |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(qwIds)){ |
| | | Set<String> qwIdSet = new HashSet<>(qwIds); |
| | | String qwIdStr = String.join(",", qwIdSet); |
| | | Category category = categoryMapper.selectById(workorder.getTypeId()); |
| | | if(Objects.nonNull(closeDTO.getMember())&&Objects.nonNull(category)&& org.apache.commons.lang3.StringUtils.isNotBlank(qwIdStr)){ |
| | | // åéä¼å¾®éç¥ |
| | | this.sendQwMsg(workorder,qwIdStr,closeDTO.getMember(),category.getName(),Constants.THREE,null); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ |
| | | for (Multifile multifile:multifileList) { |
| | | multifile.setObjId(logId); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setObjType(Constants.multiFileType.passOn); |
| | | } |
| | | multifileMapper.insert(multifileList); |
| | | } |
| | | //TODO ä¼ä¸å¾®ä¿¡éç¥ |
| | | //ä¼ä¸å¾®ä¿¡éç¥ |
| | | Category category = categoryMapper.selectById(workorder.getTypeId()); |
| | | if(Objects.nonNull(passOnDTO.getMember())&&Objects.nonNull(category)){ |
| | | // åéä¼å¾®éç¥ |
| | | this.sendQwMsg(workorder,member.getQwId(),passOnDTO.getMember(),category.getName(),Constants.ZERO,null); |
| | | } |
| | | //åå¨å¾
å人åä¿¡æ¯ |
| | | this.saveNotice(Arrays.asList(passOnDTO.getMember().getQwId().split(",")),workorder.getId(),Constants.ZERO,Constants.TWO); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void sendCopy(SendCopyDTO sendCopyDTO) { |
| | | if (Objects.isNull(sendCopyDTO) |
| | | || Objects.isNull(sendCopyDTO.getWorkorderId()) |
| | | || StringUtils.isEmpty(sendCopyDTO.getUserIds())) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | Workorder workorder = workorderMapper.selectById(sendCopyDTO.getWorkorderId()); |
| | | if (Objects.isNull(workorder)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted, Constants.ZERO) |
| | | .isNotNull(Member::getQwId) |
| | | .in(Member::getId, sendCopyDTO.getUserIds().split(","))); |
| | | if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) { |
| | | List<String> qwIdList = memberList.stream().map(i -> i.getQwId()).collect(Collectors.toList()); |
| | | Category category = categoryMapper.selectById(workorder.getTypeId()); |
| | | if (Objects.nonNull(category)) { |
| | | // åéä¼å¾®éç¥ |
| | | this.sendQwMsg(workorder, String.join(",", qwIdList), sendCopyDTO.getMember(), category.getName(), Constants.ONE, null); |
| | | } |
| | | //åå¨å¾
åä¿¡æ¯ |
| | | this.saveNotice(qwIdList, workorder.getId(), Constants.ONE, Constants.ONE); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | |
| | | this.saveLog(null,workorder, |
| | | Constants.ONE |
| | | ,member.getId(),"å¬ä¿","å·²å¬ä¿ "+urgeUser.getCompanyName() + "/" + urgeUser.getName()); |
| | | //TODO åéä¼å¾®éç¥ |
| | | //åéä¼å¾®éç¥ |
| | | Category category = categoryMapper.selectById(workorder.getTypeId()); |
| | | if(Objects.nonNull(category)){ |
| | | // åéä¼å¾®éç¥ |
| | | this.sendQwMsg(workorder,urgeUser.getQwId(),null,category.getName(),Constants.ONE,null); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | }else{ |
| | | return; |
| | | } |
| | | //TODO åéä¼å¾®éç¥ |
| | | //åéä¼å¾®éç¥ |
| | | Category category = categoryMapper.selectById(workorder.getTypeId()); |
| | | if(Objects.nonNull(category)){ |
| | | // åéä¼å¾®éç¥ |
| | | this.sendQwMsg(workorder,urgeUser.getQwId(),null,category.getName(),Constants.ONE,null); |
| | | } |
| | | } |
| | | |
| | | |
| | | public void saveNotice(List<String> qwIdList ,Integer workorderId,Integer isSendCopy,Integer type){ |
| | | List<Notices> noticesList = new ArrayList<>(); |
| | | for (String qwId:qwIdList) { |
| | | //å卿éè®°å½ |
| | | Notices notices = new Notices(); |
| | | notices.setCreateDate(new Date()); |
| | | notices.setIsdeleted(Constants.ZERO); |
| | | notices.setObjId(workorderId); |
| | | notices.setObjType(Constants.ZERO+""); |
| | | notices.setStatus(Constants.ZERO); |
| | | notices.setSendacopy(isSendCopy); |
| | | notices.setParam1(qwId); |
| | | notices.setType(Integer.toString(type)); |
| | | noticesList.add(notices); |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(noticesList)){ |
| | | noticesMapper.insert(noticesList); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * æ°æ®æ¥è¡¨ |
| | | * @param queryType 0=æç
§æä»½ï¼1=æç
§å£åº¦ï¼2=æç
§å¹´ä»½ï¼æä¸å¤çï¼ |
| | | * SHE / è·ç»æ»æ¥è¡¨ |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<WorkOrderDataVO> getWorkOrderData(Integer queryType) throws Exception { |
| | | public List<WorkOrderDataVO> getWorkOrderData(OrderDataDTO orderDataDTO) throws Exception { |
| | | if (Objects.isNull(orderDataDTO.getQueryType())||Objects.isNull(orderDataDTO.getOrderType())) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | String year = DateUtil.getNowYear(); |
| | | Integer nowMonth = DateUtil.getNowMonth(); |
| | | Integer quarter = (nowMonth - 1) / 3 + 1; |
| | | List<WorkOrderDataVO> workOrderDataVOList = new ArrayList<>(); |
| | | //æ¥è¯¢ä»å¹´ææçæ°æ® |
| | | List<Workorder> workorderList = workorderMapper.selectList(new QueryWrapper<Workorder>().lambda().like(Workorder::getCreateDate,year) |
| | | List<Workorder> workorderList = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>() |
| | | .selectAll(Workorder.class) |
| | | .leftJoin(" category c1 on c1.id = t.type_id " ) |
| | | .leftJoin(" category c2 on c2.id = t.localtion_id " ) |
| | | .apply(Objects.nonNull(orderDataDTO.getTypeId())," find_in_set("+orderDataDTO.getTypeId()+", REPLACE(c1.ID_PATH,'/',',') ) ") |
| | | .apply(Objects.nonNull(orderDataDTO.getLocationId())," find_in_set("+orderDataDTO.getLocationId()+", REPLACE(c2.ID_PATH,'/',',') ) ") |
| | | .like(Workorder::getCreateDate,year) |
| | | .eq(Workorder::getType,orderDataDTO.getOrderType()) |
| | | .eq(Workorder::getIsdeleted,Constants.ZERO)); |
| | | if(Constants.equalsInteger(queryType,Constants.ZERO)){ |
| | | if(Constants.equalsInteger(orderDataDTO.getQueryType(),Constants.ZERO)){ |
| | | for (int i = 1 ; i <= nowMonth; i++) { |
| | | WorkOrderDataVO workOrderDataVO = new WorkOrderDataVO(); |
| | | String monthDay = year + "-" + org.apache.commons.lang3.StringUtils.leftPad(nowMonth.toString(),2,"0"); |
| | |
| | | } |
| | | workOrderDataVOList.add(workOrderDataVO); |
| | | } |
| | | }else if(Constants.equalsInteger(queryType,Constants.ONE)){ |
| | | }else if(Constants.equalsInteger(orderDataDTO.getQueryType(),Constants.ONE)){ |
| | | //æç
§å£åº¦æ¥è¯¢ |
| | | for (int i = 1 ; i <= quarter; i++) { |
| | | List<Workorder> dataList = new ArrayList<>(); |