From 9fa82e0217d54a38dd1546094d8d15cb43e827b0 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 22 四月 2025 11:22:47 +0800 Subject: [PATCH] 代码初始化 --- server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java | 163 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 96 insertions(+), 67 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 0507cab..1a32444 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 @@ -189,10 +189,10 @@ 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\">瑙傚療涓婚 "+ 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>"; + message = message + " <div class=\"normal\">璇存槑 "+ csInfo +"</div>"; } } textCard.setDescription(message); @@ -406,8 +406,8 @@ */ public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content,String paramr2){ WorkorderLog workorderLog = new WorkorderLog(); - workorderLog.setCreateDate(afterWorkorder.getCreateDate()); - workorderLog.setEditDate(afterWorkorder.getCreateDate()); + workorderLog.setCreateDate(afterWorkorder.getEditDate()); + workorderLog.setEditDate(afterWorkorder.getEditDate()); workorderLog.setIsdeleted(Constants.ZERO); workorderLog.setBeforeContent(beforeJson); workorderLog.setAfterContent(JSONObject.toJSONString(afterWorkorder)); @@ -500,6 +500,7 @@ if(Objects.isNull(workorder)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } + this.dealButton(workorder,member); //鏌ヨ闄勪欢淇℃伅 List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getIsdeleted,Constants.ZERO) @@ -514,7 +515,6 @@ } workorder.setMultifileList(multifileList); } - //鏌ヨ鏃ュ織淇℃伅 workorder.setLogList(this.getLogList(workorder,member)); if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){ @@ -523,10 +523,12 @@ param.setIsdeleted(Constants.ZERO); param.setDcaRecordId(workorder.getId()); List<Workorder> dcaChildList = findList(param); - for (Workorder dcaChild:dcaChildList) { - this.dealButton(dcaChild,member); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dcaChildList)){ + for (Workorder dcaChild:dcaChildList) { + this.dealButton(dcaChild,member); + } + workorder.setManagerId(dcaChildList.stream().filter(i->Objects.nonNull(i.getManagerId())).map(i->i.getManagerId()).collect(Collectors.joining(","))); } - workorder.setDcaChildList(dcaChildList); } return workorder; @@ -589,26 +591,29 @@ Boolean canOpenUrgeButton = true; for (WorkorderLog workorderLog:logList) { workorderLog.setUrgeButton(Constants.ZERO); - //鐗╀笟涓荤澶勭悊涓� - if(Constants.equalsInteger(workorder.getStatus(),Constants.ONE)){ - Member member = memberMapper.selectById(workorderLog.getParam1()); - if(Objects.nonNull(member) && org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId()) - && Objects.nonNull(loginMember) && Constants.equalsInteger(member.getId(),loginMember.getId()) - && workorder.getQwnoticeMemberIds().indexOf(member.getQwId())>=Constants.ZERO){ - workorderLog.setUrgeButton(Constants.ONE); + if(Constants.equalsInteger(workorderLog.getObjType(),Constants.TWO)||Constants.equalsInteger(workorderLog.getObjType(),Constants.ONE)){ + //鐗╀笟涓荤澶勭悊涓� + if(Constants.equalsInteger(workorder.getStatus(),Constants.ONE)){ + Member member = memberMapper.selectById(workorderLog.getParam1()); + if(Objects.nonNull(member) && org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId()) + && Objects.nonNull(loginMember) && Constants.equalsInteger(member.getId(),loginMember.getId()) + && workorder.getQwnoticeMemberIds().indexOf(member.getQwId())>=Constants.ZERO){ + workorderLog.setUrgeButton(Constants.ONE); + } + } + //宸ョ▼甯堝鐞嗕腑 + if(Constants.equalsInteger(workorder.getStatus(),Constants.TWO)){ + Member member = memberMapper.selectById(workorderLog.getParam1()); + if(Objects.nonNull(member) && org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId()) + && canOpenUrgeButton + && (workorder.getQwnoticeMemberIds().indexOf(member.getQwId()) >= Constants.ZERO || member.getQwId().equals(workorder.getManagerId()) ) + ){ + workorderLog.setUrgeButton(Constants.ONE); + canOpenUrgeButton = false; + } } } - //宸ョ▼甯堝鐞嗕腑 - if(Constants.equalsInteger(workorder.getStatus(),Constants.TWO)){ - Member member = memberMapper.selectById(workorderLog.getParam1()); - if(Objects.nonNull(member) && org.apache.commons.lang3.StringUtils.isNotBlank(member.getQwId()) - && canOpenUrgeButton - && (workorder.getQwnoticeMemberIds().indexOf(member.getQwId()) >= Constants.ZERO || member.getQwId().equals(workorder.getManagerId()) ) - ){ - workorderLog.setUrgeButton(Constants.ONE); - canOpenUrgeButton = false; - } - } + //鏌ヨ闄勪欢淇℃伅 List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() .eq(Multifile::getIsdeleted,Constants.ZERO) @@ -852,7 +857,7 @@ } workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey()); qwIds.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(","))); - qwIds.add(workorder.getDealerId()); + qwIds.add(workorder.getManagerId()); qwIds.remove(closeDTO.getMember().getQwId()); }else{ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆"); @@ -862,7 +867,7 @@ workorder.setDealInfo(closeDTO.getInfo()); workorderMapper.updateById(workorder); //澶勭悊涓婃姤鏃ュ織 - Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,workorder.getMemberId(),"浠诲姟宸插鐞�",closeDTO.getInfo(),null); + Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,closeDTO.getMember().getId(),"浠诲姟宸插鐞�",closeDTO.getInfo(),null); List<Multifile> multifileList = closeDTO.getMultifileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ for (Multifile multifile:multifileList) { @@ -922,13 +927,13 @@ workorder.setStatus(Constants.WorkOrderStatus.waitDeal.getKey()); } workorder.setEditDate(new Date()); - workorder.setUrgeDate(DateUtil.afterMinutesDate(new Date(),2)); + workorder.setUrgeDate(DateUtil.afterMinutesDate(new Date(),10)); workorderMapper.updateById(workorder); String paramr2 = member.getCompanyName()+"/"+member.getName(); //澶勭悊涓婃姤鏃ュ織 Integer logId = this.saveLog(beforeJson,workorder, Constants.equalsInteger(passOnDTO.getPassOnType(),Constants.ZERO)?Constants.ONE:Constants.TWO - ,workorder.getMemberId(),"浠诲姟鍒嗛厤",passOnDTO.getInfo(),paramr2); + ,passOnDTO.getMember().getId(),"浠诲姟鍒嗛厤",passOnDTO.getInfo(),paramr2); List<Multifile> multifileList = passOnDTO.getMultifileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ for (Multifile multifile:multifileList) { @@ -1128,7 +1133,7 @@ public void urge(Integer workorderId,Member member){ Workorder workorder = workorderMapper.selectById(workorderId); workorder.setEditDate(new Date()); - workorder.setUrgeDate(DateUtil.afterMinutesDate(new Date(),2));//DateUtil.afterHoursDate(new Date(),24)); + workorder.setUrgeDate(DateUtil.afterMinutesDate(new Date(),10)); workorderMapper.updateById(workorder); if(Objects.isNull(workorder)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸ュ崟鏁版嵁"); @@ -1159,13 +1164,13 @@ public void jobUrge(){ List<Workorder> workorderList = workorderMapper.selectList(new QueryWrapper<Workorder>().lambda().eq(Workorder::getIsdeleted,Constants.ZERO) .in(Workorder::getStatus,Constants.WorkOrderStatus.waitAllocation.getKey(),Constants.WorkOrderStatus.waitDeal.getKey()) - .apply(" urge_time > now() ") + .apply(" URGE_DATE < 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.afterMinutesDate(new Date(),2));//DateUtil.afterHoursDate(new Date(),24)); + workorder.setUrgeDate(DateUtil.afterMinutesDate(new Date(),10));//DateUtil.afterHoursDate(new Date(),24)); workorderMapper.updateById(workorder); } } @@ -1325,11 +1330,13 @@ @Override public WorkorderIndexNumVO getIndexData(Workorder workorder) { WorkorderIndexNumVO model = new WorkorderIndexNumVO(); - List<WorkOrderDataVO> workOrderDataVOList = new ArrayList<>(); + Date startdate = getStartDateByType(workorder.getTimeType()); //鏌ヨ浠婂勾鎵�鏈夌殑鏁版嵁 List<Workorder> list = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>() .select("type,count(id) as num") .eq(Workorder::getIsdeleted,Constants.ZERO) + .ge(startdate!=null,Workorder::getCreateDate,startdate) +// .lt(endDate!=null,Workorder::getCreateDate,endDate) .groupBy(Workorder::getType )); if(list !=null){ for(Workorder w : list){ @@ -1348,34 +1355,12 @@ } } } - List<Workorder> todays = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>() - .select("type,count(id) as num") - .eq(Workorder::getIsdeleted,Constants.ZERO) - .apply("to_days(create_date)=to_days(now())") - .groupBy(Workorder::getType )); - if(todays !=null){ - for(Workorder w : todays){ - if(Constants.equalsInteger(w.getType(),Constants.ZERO)){ - //SHE - model.setTodaySheNum(Constants.formatLongNum(w.getNum())); - }else if(Constants.equalsInteger(w.getType(),Constants.ONE)){ - //DCA鎻愪氦鏁� - model.setTodayDcaNum(Constants.formatLongNum(w.getNum())); - }else if(Constants.equalsInteger(w.getType(),Constants.TWO)){ - //DCA瀛愬伐鍗� - model.setTodayDcaChildNum(Constants.formatLongNum(w.getNum())); - }else if(Constants.equalsInteger(w.getType(),Constants.THREE)){ - //璺岀粖婊� - model.setTodayDbhNum(Constants.formatLongNum(w.getNum())); - } - } - } - List<Workorder> yeslist = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>() .select("type,count(id) as num") .eq(Workorder::getIsdeleted,Constants.ZERO) .in(Workorder::getStatus,Constants.THREE,Constants.FOUR,Constants.FIVE) .in(Workorder::getType,Constants.THREE,Constants.TWO) + .ge(startdate!=null,Workorder::getCreateDate,startdate) .groupBy(Workorder::getType )); if(yeslist !=null){ for(Workorder w : yeslist){ @@ -1390,20 +1375,64 @@ } } } - Workorder dcaList = workorderMapper.selectJoinOne(Workorder.class,new MPJLambdaWrapper<Workorder>() - .select("sum(dca_yes_num) as dcaYesNum,sum(dca_no_num) as dcaNoNum") - .eq(Workorder::getIsdeleted,Constants.ZERO) - .eq(Workorder::getType,Constants.ONE) ); - if(dcaList !=null){ - //DCA绗﹀悎椤瑰拰涓嶇鍚堥」缁熻 - model.setDcaYesNum((long)Constants.formatIntegerNum(dcaList.getDcaYesNum())); - model.setDcaNoNum((long)Constants.formatIntegerNum(dcaList.getDcaNoNum())); + if(workorder.getTimeType() == null){ + List<Workorder> todays = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>() + .select("type,count(id) as num") + .eq(Workorder::getIsdeleted,Constants.ZERO) + .apply("to_days(create_date)=to_days(now())") + .groupBy(Workorder::getType )); + if(todays !=null){ + for(Workorder w : todays){ + if(Constants.equalsInteger(w.getType(),Constants.ZERO)){ + //SHE + model.setTodaySheNum(Constants.formatLongNum(w.getNum())); + }else if(Constants.equalsInteger(w.getType(),Constants.ONE)){ + //DCA鎻愪氦鏁� + model.setTodayDcaNum(Constants.formatLongNum(w.getNum())); + }else if(Constants.equalsInteger(w.getType(),Constants.TWO)){ + //DCA瀛愬伐鍗� + model.setTodayDcaChildNum(Constants.formatLongNum(w.getNum())); + }else if(Constants.equalsInteger(w.getType(),Constants.THREE)){ + //璺岀粖婊� + model.setTodayDbhNum(Constants.formatLongNum(w.getNum())); + } + } + } + Workorder dcaList = workorderMapper.selectJoinOne(Workorder.class,new MPJLambdaWrapper<Workorder>() + .select("sum(dca_yes_num) as dcaYesNum,sum(dca_no_num) as dcaNoNum") + .eq(Workorder::getIsdeleted,Constants.ZERO) + .eq(Workorder::getType,Constants.ONE) ); + if(dcaList !=null){ + //DCA绗﹀悎椤瑰拰涓嶇鍚堥」缁熻 + model.setDcaYesNum((long)Constants.formatIntegerNum(dcaList.getDcaYesNum())); + model.setDcaNoNum((long)Constants.formatIntegerNum(dcaList.getDcaNoNum())); + } } + + + return model; } + private Date getStartDateByType(Integer timeType) { + Date date = null; + if(timeType == null){ + return null; + } else if (timeType == 0) { + //鏈懆 + date = DateUtil.getBeginDayOfWeek(0); + }else if (timeType == 1) { + //鏈湀 + date = DateUtil.getBeginDayOfMonth(0); + }else if (timeType == 2) { + //鏈搴� + date = DateUtil.getBeginDayOfSeason(0); + }else if (timeType == 3) { + //鏈勾 + date = DateUtil.getBeginDayOfYear(0); + } - - + return date; + } } -- Gitblit v1.9.3