From ffc5c6b152165b763458c4b129b5a5017bb6d22d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 09 四月 2025 16:01:42 +0800 Subject: [PATCH] 工单业务 --- server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java | 321 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 299 insertions(+), 22 deletions(-) diff --git a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java index a1eea89..6a03643 100644 --- a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java +++ b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java @@ -9,10 +9,13 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; +import com.doumee.core.utils.qiyeweixin.QywxUtil; 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.vo.WorkOrderDataVO; import com.doumee.service.business.WorkorderService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -23,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -72,22 +76,34 @@ workorder.setEditDate(new Date()); workorder.setMemberId(workorder.getMemberId()); workorder.setIsdeleted(Constants.ZERO); - workorder.setStatus(Constants.ZERO); workorder.setCode(this.getNextCode(workorder.getType())); //澶勭悊浜哄憳绫讳俊鎭� this.dealNoticeData(workorder); + //澶勭悊SHE浜嬩欢鐘舵�� + workorder.setStatus(Constants.equalsInteger(workorder.getType(),Constants.ZERO)?Constants.workOrderStatus.close:Constants.workOrderStatus.waitConfirm); workorderMapper.insert(workorder); //瀛樺偍DCA 闂璁板綍琛� this.saveProblemData(workorder); //瀛樺偍闄勪欢淇℃伅 this.saveMutiFile(workorder); - //澶勭悊涓婃姤鏃ュ織 - this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId()); - //TODO 鍙戦�侀�氱煡 + //瀛樺偍鏃ュ織 + this.dealLogData(workorder); + //TODO 鍙戦�佷紒寰�氱煡 return workorder.getId(); } + + public void dealLogData(Workorder workorder){ + //澶勭悊涓婃姤鏃ュ織 DCA宸ュ崟 鏃ュ織瀛樺偍鑷冲瓙涓氬姟 涓嶅瓨鍦ㄤ簬鐖剁骇 + if(!Constants.equalsInteger(workorder.getType(),Constants.ONE)){ + String logTitle = "宸ュ崟鎻愭姤"; + if(!Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ + logTitle = Constants.equalsInteger(workorder.getType(),Constants.ONE)?"璺岀粖婊戦闄╂彁鎶�":"DCA涓婃姤"; + } + this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),logTitle,null); + } + } /** * 瀛樺偍闄勪欢淇℃伅 @@ -99,13 +115,7 @@ for (Multifile multifile:multifileList) { multifile.setObjId(workorder.getId()); multifile.setCreateDate(new Date()); - if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){//SHE浜嬩欢涓婃姤鍥剧墖 - multifile.setObjType(Constants.multiFileType.sheUpload); - }else if(Constants.equalsInteger(workorder.getType(),Constants.THREE)){//璺岀粖婊戜簨浠朵笂鎶ュ浘鐗� - multifile.setObjType(Constants.multiFileType.dbhUpload); - }else if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){//DCA浜嬩欢涓婃姤 - multifile.setObjType(Constants.multiFileType.dcaUpload); - } + multifile.setObjType(Constants.multiFileType.upload); } multifileMapper.insert(multifileList); } @@ -134,13 +144,16 @@ dcaWorkOrder.setProblemId(problem.getId()); dcaWorkOrder.setProblemInfo(problem.getRemark()); dcaWorkOrder.setDcaRecordId(workorder.getId()); + dcaWorkOrder.setEventInfo(dcaNoProblemDTO.getEventInfo()); workorderMapper.insert(dcaWorkOrder); + //瀛樺偍鏃ュ織 + this.dealLogData(dcaWorkOrder); List<Multifile> multifileList = dcaNoProblemDTO.getMultifileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ for (Multifile multifile:multifileList) { multifile.setObjId(dcaWorkOrder.getId()); multifile.setCreateDate(new Date()); - multifile.setObjType(Constants.multiFileType.dcaWorkOrder); + multifile.setObjType(Constants.multiFileType.upload); } multifileMapper.insert(multifileList); } @@ -187,10 +200,10 @@ * * @param beforeJson * @param afterWorkorder - * @param objType 鎿嶄綔绫诲瀷 0浠诲姟涓婃姤 1浠诲姟纭 2浠诲姟鍒嗛厤鐗╀笟涓荤 3浠诲姟鍏抽棴 4浠诲姟鍒嗛厤澶勭悊浜� 5浠诲姟鍌績 + * @param objType 鎿嶄綔绫诲瀷 0浠诲姟涓婃姤 1浠诲姟鍒嗛厤鐗╀笟涓荤 2浠诲姟鍒嗛厤澶勭悊浜� 3浠诲姟澶勭悊鍏抽棴 4浠诲姟鍌績 * @param memberId */ - public void saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId){ + public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content){ WorkorderLog workorderLog = new WorkorderLog(); workorderLog.setCreateDate(new Date()); workorderLog.setEditDate(new Date()); @@ -200,7 +213,10 @@ workorderLog.setParam1(memberId.toString()); workorderLog.setObjId(afterWorkorder.getId().toString()); workorderLog.setObjType(objType); + workorderLog.setTitle(title); + workorderLog.setContent(content); workorderLogMapper.insert(workorderLog); + return workorderLog.getId(); } @@ -290,8 +306,44 @@ workorder.setMultifileList(multifileList); } } + //鏌ヨ鏃ュ織淇℃伅 + workorder.setLogList(this.getLogList(workorder.getId())); return workorder; } + + + public List<WorkorderLog> getLogList(Integer orderId){ + List<WorkorderLog> logList = workorderLogMapper.selectJoinList(WorkorderLog.class, + new MPJLambdaWrapper<WorkorderLog>() + .selectAll(WorkorderLog.class) + .selectAs(Member::getName,WorkorderLog::getUserName) + .selectAs(Member::getCompanyName,WorkorderLog::getCompanyName) + .leftJoin(Member.class,Member::getId,WorkorderLog::getParam1) + .eq(WorkorderLog::getObjId,orderId) + .orderByAsc(WorkorderLog::getId) + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(logList)){ + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.WORKORDER_FILE_PATH).getCode(); + for (WorkorderLog workorderLog:logList) { + //鏌ヨ闄勪欢淇℃伅 + List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getIsdeleted,Constants.ZERO) + .ne(Multifile::getObjType,Constants.multiFileType.upload) + .eq(Multifile::getObjId,workorderLog.getId()) + .orderByAsc(Multifile::getId)); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ + for (Multifile multifile:multifileList) { + multifile.setFileurlFull(path+multifile.getFileurl()); + } + workorderLog.setMultifileList(multifileList); + } + } + } + return logList; + + } + @Override @@ -445,29 +497,254 @@ + @Override public void closeWorkOrder(CloseDTO closeDTO){ if(Objects.isNull(closeDTO) - || Objects.isNull(closeDTO.getWorkorderId()) - || org.apache.commons.lang3.StringUtils.isBlank(closeDTO.getInfo()) - || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(closeDTO.getMultifileList())){ + || Objects.isNull(closeDTO.getWorkorderId()) + || org.apache.commons.lang3.StringUtils.isBlank(closeDTO.getInfo()) + || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(closeDTO.getMultifileList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } Workorder workorder = workorderMapper.selectById(closeDTO.getWorkorderId()); + String beforeJson = JSONObject.toJSONString(workorder); if(Objects.isNull(workorder)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸ュ崟鏁版嵁"); } - if(!(Constants.equalsInteger(workorder.getStatus(),Constants.ZERO) - || Constants.equalsInteger(workorder.getStatus(),Constants.ONE) - || Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆鏃犳硶杩涜鎿嶄綔"); + if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"SHE宸ュ崟鏃犳硶杩涜璇ユ搷浣�"); + } + if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.sheClose)||Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.wtsClose)||Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.close)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆"); + } + //鎻愪氦鍚庣殑 寰呯‘璁�/寰呭垵瀹$姸鎬� 濡傛灉鍘诲叧闂� 鍙湁宸ュ崟閲岀粦瀹氱殑SHE浜哄憳鍙互鍏抽棴 + if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitConfirm)){ + //鍒ゆ柇SHE浜哄憳鍐呮槸鍚︽湁褰撳墠鐧诲綍璐﹀彿 + if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊"); + } + workorder.setStatus(Constants.workOrderStatus.sheClose); + }else if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitAllocation)){ + //鍒ゆ柇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); + }else if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitDeal)){ + //鍒ゆ柇SHE浜哄憳鍐呮槸鍚︽湁褰撳墠鐧诲綍璐﹀彿 + if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO && !workorder.getManagerId().equals(closeDTO.getMember().getQwId()) + && !workorder.getDealerId().equals(closeDTO.getMember().getQwId()) ){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊"); + } + workorder.setStatus(Constants.workOrderStatus.wtsClose); + }else{ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆"); + } + workorder.setEditDate(new Date()); + workorder.setDealTime(new Date()); + workorder.setDealInfo(closeDTO.getInfo()); + workorderMapper.updateById(workorder); + //澶勭悊涓婃姤鏃ュ織 + Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,workorder.getMemberId(),"浠诲姟宸插鐞�",closeDTO.getInfo()); + List<Multifile> multifileList = workorder.getMultifileList(); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ + for (Multifile multifile:multifileList) { + multifile.setObjId(logId); + multifile.setCreateDate(new Date()); + multifile.setObjType(Constants.multiFileType.deal); + } + multifileMapper.insert(multifileList); + } + } + + + @Override + public void passOn(PassOnDTO passOnDTO){ + if(Objects.isNull(passOnDTO) + || Objects.isNull(passOnDTO.getWorkorderId()) + || Objects.isNull(passOnDTO.getPassOnUserId()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Member member = memberMapper.selectById(passOnDTO.getPassOnUserId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌琚浆浜や汉淇℃伅"); + } + Workorder workorder = workorderMapper.selectById(passOnDTO.getWorkorderId()); + String beforeJson = JSONObject.toJSONString(workorder); + 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(passOnDTO.getPassOnType(),Constants.ZERO)){ + if(!Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitConfirm)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆"); + } + workorder.setManagerId(member.getQwId()); + workorder.setStatus(Constants.workOrderStatus.waitAllocation); + }else{ + if(!(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitAllocation) + || Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitDeal))){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆"); + } + workorder.setDealerId(member.getQwId()); + workorder.setStatus(Constants.workOrderStatus.waitDeal); + } + workorder.setEditDate(new Date()); + workorder.setUrgeDate(DateUtil.afterHoursDate(new Date(),24)); + workorderMapper.updateById(workorder); + //澶勭悊涓婃姤鏃ュ織 + Integer logId = this.saveLog(beforeJson,workorder, + Constants.equalsInteger(passOnDTO.getPassOnType(),Constants.ZERO)?Constants.ONE:Constants.TWO + ,workorder.getMemberId(),"浠诲姟鍒嗛厤",passOnDTO.getInfo()); + List<Multifile> multifileList = workorder.getMultifileList(); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ + for (Multifile multifile:multifileList) { + multifile.setObjId(logId); + multifile.setCreateDate(new Date()); + multifile.setObjType(Constants.multiFileType.passOn); + } + multifileMapper.insert(multifileList); + } + //TODO 浼佷笟寰俊閫氱煡 + } + + + + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public void urge(Integer workorderId,Member member){ + Workorder workorder = workorderMapper.selectById(workorderId); + workorder.setEditDate(new Date()); + workorder.setUrgeDate(DateUtil.afterHoursDate(new Date(),24)); + workorderMapper.updateById(workorder); + if(Objects.isNull(workorder)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸ュ崟鏁版嵁"); + } + Member urgeUser = new Member(); + //濡傛灉宸插垎閰� wts 鍒欐槸鍌績wts + if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitAllocation)){ + urgeUser = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getQwId,workorder.getManagerId()).last("limit 1 ")); + }else if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitAllocation)){ + urgeUser = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getQwId,workorder.getDealerId()).last("limit 1 ")); + }else{ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鐘舵�佸凡娴佽浆鏃犳硶杩涜璇ユ搷浣�"); } + this.saveLog(null,workorder, + Constants.ONE + ,member.getId(),"鍌績","宸插偓淇� "+urgeUser.getCompanyName() + "/" + urgeUser.getName()); + //TODO 鍙戦�佷紒寰�氱煡 + + } + + @Override + public void jobUrge(){ + List<Workorder> workorderList = workorderMapper.selectList(new QueryWrapper<Workorder>().lambda().eq(Workorder::getIsdeleted,Constants.ZERO) + .in(Workorder::getStatus,Constants.workOrderStatus.waitAllocation,Constants.workOrderStatus.waitDeal) + .apply(" urge_time > now() ") + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(workorderList)){ + for (Workorder workorder:workorderList) { + this.autoUrge(workorder); + workorder.setEditDate(new Date()); + workorder.setUrgeDate(DateUtil.afterHoursDate(new Date(),24)); + workorderMapper.updateById(workorder); + } + } + } + public void autoUrge(Workorder workorder){ + if(Objects.isNull(workorder)){ + return; + } + Member urgeUser = new Member(); + //濡傛灉宸插垎閰� wts 鍒欐槸鍌績wts + if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitAllocation)){ + urgeUser = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getQwId,workorder.getManagerId()).last("limit 1 ")); + }else if(Constants.equalsInteger(workorder.getStatus(),Constants.workOrderStatus.waitAllocation)){ + urgeUser = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getQwId,workorder.getDealerId()).last("limit 1 ")); + }else{ + return; + } + //TODO 鍙戦�佷紒寰�氱煡 + } - + /** + * 鏁版嵁鎶ヨ〃 + * @param queryType 0=鎸夌収鏈堜唤锛�1=鎸夌収瀛e害锛�2=鎸夌収骞翠唤锛堟殏涓嶅鐞嗭級 + * @return + */ + @Override + public List<WorkOrderDataVO> getWorkOrderData(Integer queryType) throws Exception { + 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) + .eq(Workorder::getIsdeleted,Constants.ZERO)); + if(Constants.equalsInteger(queryType,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"); + List<Workorder> dataList = workorderList.stream().filter(j->DateUtil.formatDate(j.getCreateDate(),"yyyy-MM").equals(monthDay)) + .collect(Collectors.toList()); + workOrderDataVO.setDateStr(monthDay); + workOrderDataVO.setGcsTotal(Constants.ZERO); + workOrderDataVO.setWtsTotal(Constants.ZERO); + workOrderDataVO.setSheTotal(Constants.ZERO); + workOrderDataVO.setUnCloseTotal(Constants.ZERO); + workOrderDataVO.setTotal(Constants.ZERO); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dataList)){ + workOrderDataVO.setTotal(dataList.size()); + workOrderDataVO.setGcsTotal(dataList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.workOrderStatus.close)).collect(Collectors.toList()).size()); + workOrderDataVO.setSheTotal(dataList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.workOrderStatus.sheClose)).collect(Collectors.toList()).size()); + workOrderDataVO.setWtsTotal(dataList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.workOrderStatus.wtsClose)).collect(Collectors.toList()).size()); + workOrderDataVO.setUnCloseTotal(workOrderDataVO.getTotal() - workOrderDataVO.getSheTotal() - workOrderDataVO.getWtsTotal() - workOrderDataVO.getGcsTotal()); + } + workOrderDataVOList.add(workOrderDataVO); + } + }else if(Constants.equalsInteger(queryType,Constants.ONE)){ + //鎸夌収瀛e害鏌ヨ + for (int i = 1 ; i <= quarter; i++) { + List<Workorder> dataList = new ArrayList<>(); + if(Constants.equalsInteger(i,Constants.ONE)){ + dataList = workorderList.stream().filter(j->Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM"))<=3 ) + .collect(Collectors.toList()); + }else if(Constants.equalsInteger(i,Constants.TWO)){ + dataList = workorderList.stream().filter(j->Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM"))<=6 && Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM"))>=4 ) + .collect(Collectors.toList()); + }else if(Constants.equalsInteger(i,Constants.THREE)){ + dataList = workorderList.stream().filter(j->Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM"))<=9 && Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM"))>=7 ) + .collect(Collectors.toList()); + }else { + dataList = workorderList.stream().filter(j-> Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM"))>=10 ) + .collect(Collectors.toList()); + } + WorkOrderDataVO workOrderDataVO = new WorkOrderDataVO(); + workOrderDataVO.setDateStr(i+"瀛e害"); + workOrderDataVO.setGcsTotal(Constants.ZERO); + workOrderDataVO.setWtsTotal(Constants.ZERO); + workOrderDataVO.setSheTotal(Constants.ZERO); + workOrderDataVO.setUnCloseTotal(Constants.ZERO); + workOrderDataVO.setTotal(Constants.ZERO); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dataList)){ + workOrderDataVO.setTotal(dataList.size()); + workOrderDataVO.setGcsTotal(dataList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.workOrderStatus.close)).collect(Collectors.toList()).size()); + workOrderDataVO.setSheTotal(dataList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.workOrderStatus.sheClose)).collect(Collectors.toList()).size()); + workOrderDataVO.setWtsTotal(dataList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.workOrderStatus.wtsClose)).collect(Collectors.toList()).size()); + workOrderDataVO.setUnCloseTotal(workOrderDataVO.getTotal() - workOrderDataVO.getSheTotal() - workOrderDataVO.getWtsTotal() - workOrderDataVO.getGcsTotal()); + } + workOrderDataVOList.add(workOrderDataVO); + + } + } + return workOrderDataVOList; } -- Gitblit v1.9.3