From 7e10354b263015632ff787221f0ca3c8a18224c2 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 26 六月 2025 14:16:41 +0800
Subject: [PATCH] 工单业务
---
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java | 203 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 143 insertions(+), 60 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 7cc0471..5ddb640 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
@@ -94,6 +94,7 @@
//澶勭悊SHE浜嬩欢鐘舵��
Constants.WorkOrderStatus workOrderStatus = Constants.equalsInteger(workorder.getType(),Constants.ZERO)?Constants.WorkOrderStatus.close:Constants.WorkOrderStatus.waitConfirm;
workorder.setStatus(workOrderStatus.getKey());
+ workorder.setSheDealUserQwIds(workorder.getQwnoticeMemberIds());
workorderMapper.insert(workorder);
//瀛樺偍DCA 闂璁板綍琛�
@@ -185,8 +186,11 @@
}else{
textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"銆怐CA涓婃姤銆�":"銆愯穼缁婃粦椋庨櫓涓婃姤銆�");
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\">"+ (org.apache.commons.lang3.StringUtils.isNotBlank(userName)?userName:"绯荤粺") + (Constants.equalsInteger(contentType,Constants.ZERO)?"浠诲姟鍒嗛厤缁欎綘":(Constants.equalsInteger(contentType,Constants.ONE)?"瀵硅宸ュ崟杩涜浜嗗偓淇冿紝璇峰敖蹇鐞�":((Constants.equalsInteger(contentType,Constants.TWO)?"鎶勯�佺粰浣�":"浠诲姟宸插鐞�")))) +"</div>";//:"浠诲姟宸插鐞�")) +"</div>";
message = message + " <div class=\"normal\">"+ DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") +"/"+ workorder.getLocationName() +"/"+ categoryName+"</div>";
+ if(Constants.equalsInteger(contentType,Constants.TWO)){
+ message = message + " <div class=\"normal\">璇存槑 "+ csInfo +"</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>";
@@ -207,7 +211,7 @@
//澶勭悊涓婃姤鏃ュ織 DCA宸ュ崟 鏃ュ織瀛樺偍鑷冲瓙涓氬姟 涓嶅瓨鍦ㄤ簬鐖剁骇 涓庤穼缁婃粦
String logTitle = Constants.equalsInteger(workorder.getType(), Constants.THREE) ? "璺岀粖婊戦闄�" : "DCA";
workorder.setCreateDate(workorder.getSubmitDate());
- this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),workOrderStatus.getLogTitle().replace("{title}",logTitle),null,null);
+ this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),workOrderStatus.getLogTitle().replace("{title}",logTitle),null,null,null);
}
}
@@ -269,6 +273,7 @@
dcaWorkOrder.setEventInfo(dcaNoProblemDTO.getEventInfo());
dcaWorkOrder.setQwnoticeMemberIds(workorder.getQwnoticeMemberIds());
dcaWorkOrder.setMemberNames(workorder.getMemberNames());
+ dcaWorkOrder.setSheDealUserQwIds(dcaWorkOrder.getQwnoticeMemberIds());
workorderMapper.insert(dcaWorkOrder);
//瀛樺偍鏃ュ織
this.dealLogData(dcaWorkOrder,workOrderStatus);
@@ -404,7 +409,7 @@
* @param memberId
* @param paramr2 杞氦缁欑殑澶勭悊浜�
*/
- public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content,String paramr2){
+ public Integer saveLog(String beforeJson,Workorder afterWorkorder,Integer objType,Integer memberId,String title,String content,String paramr2,String remark){
WorkorderLog workorderLog = new WorkorderLog();
workorderLog.setCreateDate(afterWorkorder.getEditDate());
workorderLog.setEditDate(afterWorkorder.getEditDate());
@@ -417,6 +422,7 @@
workorderLog.setObjType(objType);
workorderLog.setTitle(title);
workorderLog.setContent(content);
+ workorderLog.setRemark(remark);
workorderLogMapper.insert(workorderLog);
return workorderLog.getId();
}
@@ -442,7 +448,7 @@
if(Objects.isNull(workorder.getMemberType())
|| Objects.isNull(workorder.getOutJiuyi())
|| (Constants.equalsInteger(workorder.getOutJiuyi(),Constants.ZERO) && Objects.isNull(workorder.getIsYiwushi()))
- || (Constants.equalsInteger(workorder.getIsYiwushi(),Constants.ZERO) && Objects.isNull(workorder.getIsHurted()))
+ || (Constants.equalsInteger(workorder.getOutJiuyi(),Constants.ZERO) && Constants.equalsInteger(workorder.getIsYiwushi(),Constants.ZERO) && Objects.isNull(workorder.getIsHurted()))
|| Objects.isNull(workorder.getWorkRelated())
|| (Constants.equalsInteger(workorder.getMemberType(),Constants.TWO) && StringUtils.isEmpty(workorder.getMemberNames()))
|| (Constants.equalsInteger(workorder.getMemberType(),Constants.ONE) && StringUtils.isEmpty(workorder.getMemberQwids()))
@@ -501,10 +507,12 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
+ workorder.setStatusName(Constants.WorkOrderStatus.getStatusName(workorder.getStatus()));
this.dealButton(workorder,member);
//鏌ヨ闄勪欢淇℃伅
List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getIsdeleted,Constants.ZERO)
- .eq(Multifile::getObjId,workorder.getId()).orderByAsc(Multifile::getId));
+ .eq(Multifile::getObjType,Constants.multiFileType.upload)
+ .eq(Multifile::getObjId,workorder.getId().toString()).orderByAsc(Multifile::getId));
String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.WORKORDER_FILE_PATH).getCode();
@@ -526,6 +534,7 @@
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dcaChildList)){
for (Workorder dcaChild:dcaChildList) {
this.dealButton(dcaChild,member);
+ dcaChild.setStatusName(Constants.WorkOrderStatus.getStatusName(dcaChild.getStatus()));
}
workorder.setManagerId(dcaChildList.stream().filter(i->Objects.nonNull(i.getManagerId())).map(i->i.getManagerId()).collect(Collectors.joining(",")));
}
@@ -542,7 +551,7 @@
if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getQwnoticeMemberIds())&&
(Constants.equalsInteger(workorder.getStatus(),Constants.ZERO)||
Constants.equalsInteger(workorder.getStatus(),Constants.ONE)||Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){
- closeUserList.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(",")));
+ closeUserList.addAll(Arrays.asList(workorder.getSheDealUserQwIds().split(",")));
}
if(org.apache.commons.lang3.StringUtils.isNotBlank(workorder.getManagerId())&&
(Constants.equalsInteger(workorder.getStatus(),Constants.ONE)||Constants.equalsInteger(workorder.getStatus(),Constants.TWO))){
@@ -559,7 +568,7 @@
//寰呭垎閰嶇姸鎬� 澶勭悊杞氦鎸夐挳
if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())
){
- passOnUserList.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(",")));
+ passOnUserList.addAll(Arrays.asList(workorder.getSheDealUserQwIds().split(",")));
}
if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey())
|| Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitDeal.getKey())
@@ -613,18 +622,19 @@
}
}
}
-
- //鏌ヨ闄勪欢淇℃伅
- 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());
+ if(!Constants.equalsInteger(workorderLog.getObjType(),Constants.FOUR)){
+ //鏌ヨ闄勪欢淇℃伅
+ 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);
}
- workorderLog.setMultifileList(multifileList);
}
}
}
@@ -706,7 +716,8 @@
.ne(org.apache.commons.lang3.StringUtils.isNotBlank(pageWrap.getQwId()),Workorder::getType,Constants.TWO)
.in(Objects.nonNull(pageWrap.getDealStatus())&&
Constants.equalsInteger(pageWrap.getDealStatus(),Constants.ZERO),
- Workorder::getStatus,Constants.WorkOrderStatus.waitConfirm.getKey(),Constants.WorkOrderStatus.waitAllocation.getKey(),Constants.WorkOrderStatus.waitDeal.getKey())
+ Workorder::getStatus,Constants.WorkOrderStatus.waitConfirm.getKey(),
+ Constants.WorkOrderStatus.waitAllocation.getKey(),Constants.WorkOrderStatus.waitDeal.getKey())
.in(Objects.nonNull(pageWrap.getDealStatus())&&
Constants.equalsInteger(pageWrap.getDealStatus(),Constants.ONE),
Workorder::getStatus,Constants.WorkOrderStatus.sheClose.getKey(),Constants.WorkOrderStatus.close.getKey(),Constants.WorkOrderStatus.wtsClose.getKey())
@@ -757,7 +768,9 @@
.eq( pageWrap.getDcaNoNum() != null, Workorder::getDcaNoNum, pageWrap.getDcaNoNum())
.eq( pageWrap.getDcaRecordId() != null, Workorder::getDcaRecordId, pageWrap.getDcaRecordId())
.likeRight( pageWrap.getTypeIdPath() != null,"c3.id_path", pageWrap.getTypeIdPath())
- .eq( pageWrap.getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getDcaCsIds()) ;
+ .eq( pageWrap.getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getDcaCsIds())
+ .ge( pageWrap.getQueryStartTime() != null, Workorder::getCreateDate,pageWrap.getQueryStartTime())
+ .le( pageWrap.getQueryEndTime() != null, Workorder::getCreateDate,pageWrap.getQueryEndTime()) ;
if ( pageWrap.getMemberName() != null) {
queryWrapper.and( ms->ms.like(Member::getName, pageWrap.getMemberName())
.or().like(Member::getPhone, pageWrap.getMemberName()) );
@@ -772,7 +785,13 @@
Utils.MP.blankToNull(pageWrap.getModel());
pageWrap.getModel().setIsdeleted(Constants.ZERO);
MPJLambdaWrapper<Workorder> queryWrapper = getJoinQueryMapper(pageWrap.getModel());
- return PageData.from(workorderMapper.selectJoinPage(page,Workorder.class, queryWrapper));
+ PageData<Workorder> result = PageData.from(workorderMapper.selectJoinPage(page,Workorder.class, queryWrapper));
+ if(result!=null && result.getRecords()!=null){
+ for(Workorder w : result.getRecords()){
+ w.setStatusName(Constants.WorkOrderStatus.getStatusName(w.getStatus()));
+ }
+ }
+ return result;
}
@Override
@@ -834,7 +853,7 @@
//鎻愪氦鍚庣殑 寰呯‘璁�/寰呭垵瀹$姸鎬� 濡傛灉鍘诲叧闂� 鍙湁宸ュ崟閲岀粦瀹氱殑SHE浜哄憳鍙互鍏抽棴
if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){
//鍒ゆ柇SHE浜哄憳鍐呮槸鍚︽湁褰撳墠鐧诲綍璐﹀彿
- if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO){
+ if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())<Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊");
}
workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey());
@@ -842,20 +861,34 @@
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())){
+ if(workorder.getSheDealUserQwIds().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());
+ if(workorder.getManagerId().equals(closeDTO.getMember().getQwId())){
+ workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey());
+ }else if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){
+ workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey());
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊");
+ }
qwIds.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(",")));
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())
+ if(workorder.getSheDealUserQwIds().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.getKey());
+ if(workorder.getManagerId().equals(closeDTO.getMember().getQwId())){
+ workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey());
+ }else if(workorder.getDealerId().equals(closeDTO.getMember().getQwId())){
+ workorder.setStatus(Constants.WorkOrderStatus.close.getKey());
+ }else if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){
+ workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey());
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊");
+ }
qwIds.addAll(Arrays.asList(workorder.getQwnoticeMemberIds().split(",")));
qwIds.add(workorder.getManagerId());
qwIds.remove(closeDTO.getMember().getQwId());
@@ -865,9 +898,21 @@
workorder.setEditDate(new Date());
workorder.setDealTime(new Date());
workorder.setDealInfo(closeDTO.getInfo());
+ //瀛愬伐鍗� 鍒欐煡璇㈢埗绾у伐鍗曟暟鎹� 鏄惁浠樺瓨鍦ㄦ湭瀹屾垚鐨� 濡傛灉涓嶅瓨鍦ㄦ湭瀹屾垚鐨勫垯杩涜涓诲伐鍗曠姸鎬佸彉鍖�
+ if(Constants.equalsInteger(workorder.getType(),Constants.TWO)&&
+ workorderMapper.selectCount(new QueryWrapper<Workorder>().lambda().eq(Workorder::getDcaRecordId,workorder.getDcaRecordId()).eq(Workorder::getIsdeleted,Constants.ZERO)
+ .ne(Workorder::getId,workorder.getId()).in(Workorder::getStatus,
+ Constants.WorkOrderStatus.waitConfirm.getKey(),Constants.WorkOrderStatus.waitAllocation.getKey(),Constants.WorkOrderStatus.waitDeal.getKey()
+ ))<=Constants.ZERO){
+ Workorder parentWorkorder = new Workorder();
+ parentWorkorder.setId(workorder.getDcaRecordId());
+ parentWorkorder.setEditDate(new Date());
+ parentWorkorder.setStatus(Constants.WorkOrderStatus.close.getKey());
+ workorderMapper.updateById(parentWorkorder);
+ }
workorderMapper.updateById(workorder);
//澶勭悊涓婃姤鏃ュ織
- Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,closeDTO.getMember().getId(),"浠诲姟宸插鐞�",closeDTO.getInfo(),null);
+ Integer logId = this.saveLog(beforeJson,workorder,Constants.THREE,closeDTO.getMember().getId(),"浠诲姟宸插鐞�",closeDTO.getInfo(),null,closeDTO.getInfo());
List<Multifile> multifileList = closeDTO.getMultifileList();
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
for (Multifile multifile:multifileList) {
@@ -916,12 +961,20 @@
if(!Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆");
}
+ if(workorder.getSheDealUserQwIds().indexOf(passOnDTO.getMember().getQwId())<Constants.ZERO){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝闈炲甫鎮ㄥ鐞嗙殑宸ュ崟锛屾棤娉曡繘琛岃鎿嶄綔");
+ }
workorder.setManagerId(member.getQwId());
workorder.setStatus(Constants.WorkOrderStatus.waitAllocation.getKey());
+ workorder.setSheDealUserQwIds(passOnDTO.getMember().getQwId());
+
}else{
if(!(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitAllocation.getKey())
|| Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitDeal.getKey()))){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"宸ュ崟鐘舵�佸凡娴佽浆");
+ }
+ if(!workorder.getManagerId().equals(passOnDTO.getMember().getQwId())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝闈炲甫鎮ㄥ鐞嗙殑宸ュ崟锛屾棤娉曡繘琛岃鎿嶄綔");
}
workorder.setDealerId(member.getQwId());
workorder.setStatus(Constants.WorkOrderStatus.waitDeal.getKey());
@@ -933,7 +986,7 @@
//澶勭悊涓婃姤鏃ュ織
Integer logId = this.saveLog(beforeJson,workorder,
Constants.equalsInteger(passOnDTO.getPassOnType(),Constants.ZERO)?Constants.ONE:Constants.TWO
- ,passOnDTO.getMember().getId(),"浠诲姟鍒嗛厤",passOnDTO.getInfo(),paramr2);
+ ,passOnDTO.getMember().getId(),"浠诲姟鍒嗛厤",passOnDTO.getInfo(),paramr2,null);
List<Multifile> multifileList = passOnDTO.getMultifileList();
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
for (Multifile multifile:multifileList) {
@@ -1033,6 +1086,7 @@
status = 2;
info ="鏃犳晥鍛樺伐淇℃伅锛屾棤娉曞彂閫侀偖绠�";
}else{
+ //閭宸插彂閫侊細鎴愬姛锛歔"姹熻悕閭jp@doumee.com"]澶辫触锛歔"姹熻悕/鏃犻偖绠�","鎴村己寮�/閭null","閮檯鏂囨/閭null"]
List<String> successInfo = new ArrayList<>();
List<String> errorInfo = new ArrayList<>();
Map<String,String> contentForm = getEmailContentFormByModel(workorder);
@@ -1150,7 +1204,7 @@
this.saveLog(null,workorder,
Constants.FOUR
- ,member.getId(),"鍌績","宸插偓淇� "+urgeUser.getCompanyName() + "/" + urgeUser.getName(),null);
+ ,member.getId(),"鍌績","宸插偓淇� "+urgeUser.getCompanyName() + "/" + urgeUser.getName(),null,null);
//鍙戦�佷紒寰�氱煡
Category category = categoryMapper.selectById(workorder.getTypeId());
if(Objects.nonNull(category)){
@@ -1330,10 +1384,13 @@
@Override
public WorkorderIndexNumVO getIndexData(Workorder workorder) {
WorkorderIndexNumVO model = new WorkorderIndexNumVO();
+ 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){
@@ -1352,34 +1409,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){
@@ -1394,16 +1429,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