From 17f3ed801cb43325650bd77a84f306cfa661d562 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 24 四月 2025 18:41:09 +0800
Subject: [PATCH] 工单业务
---
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java | 29 ++++++++++++++++++++---------
server/src/main/java/com/doumee/dao/business/model/Workorder.java | 3 +++
2 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/server/src/main/java/com/doumee/dao/business/model/Workorder.java b/server/src/main/java/com/doumee/dao/business/model/Workorder.java
index 6067883..12ebf1f 100644
--- a/server/src/main/java/com/doumee/dao/business/model/Workorder.java
+++ b/server/src/main/java/com/doumee/dao/business/model/Workorder.java
@@ -162,6 +162,9 @@
@ApiModelProperty(value = "涓嬫鍌績鏃堕棿")
private Date urgeDate;
+ @ApiModelProperty(value = "鍙鐞哠HE浜哄憳浼佸井涓婚敭")
+ private String sheDealUserQwIds;
+
@ApiModelProperty("闄勪欢淇℃伅")
@TableField(exist = false)
private List<Multifile> multifileList;
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 1b6ba87..0a44463 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 闂璁板綍琛�
@@ -269,6 +270,7 @@
dcaWorkOrder.setEventInfo(dcaNoProblemDTO.getEventInfo());
dcaWorkOrder.setQwnoticeMemberIds(workorder.getQwnoticeMemberIds());
dcaWorkOrder.setMemberNames(workorder.getMemberNames());
+ dcaWorkOrder.setSheDealUserQwIds(dcaWorkOrder.getQwnoticeMemberIds());
workorderMapper.insert(dcaWorkOrder);
//瀛樺偍鏃ュ織
this.dealLogData(dcaWorkOrder,workOrderStatus);
@@ -443,7 +445,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()))
@@ -505,7 +507,8 @@
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();
@@ -543,7 +546,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))){
@@ -560,7 +563,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())
@@ -839,7 +842,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());
@@ -847,12 +850,12 @@
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(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊");
}
if(workorder.getManagerId().equals(closeDTO.getMember().getQwId())){
workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey());
- }else if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){
+ }else if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){
workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey());
}else{
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊");
@@ -862,7 +865,7 @@
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(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊");
}
@@ -870,7 +873,7 @@
workorder.setStatus(Constants.WorkOrderStatus.wtsClose.getKey());
}else if(workorder.getDealerId().equals(closeDTO.getMember().getQwId())){
workorder.setStatus(Constants.WorkOrderStatus.close.getKey());
- }else if(workorder.getQwnoticeMemberIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){
+ }else if(workorder.getSheDealUserQwIds().indexOf(closeDTO.getMember().getQwId())>Constants.ZERO){
workorder.setStatus(Constants.WorkOrderStatus.sheClose.getKey());
}else{
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝褰撳墠宸ュ崟闈炴偍鐨勫伐鍗曪紝鏃犳硶杩涜澶勭悊");
@@ -947,13 +950,21 @@
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());
}
--
Gitblit v1.9.3