From f30f1da563de55f9e391cae2f53942d1cfde2965 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期三, 01 三月 2023 17:06:32 +0800 Subject: [PATCH] bom反馈更新 --- src/main/java/com/whyc/service/BOMFeedbakService.java | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/whyc/service/BOMFeedbakService.java b/src/main/java/com/whyc/service/BOMFeedbakService.java index ef71789..c28141d 100644 --- a/src/main/java/com/whyc/service/BOMFeedbakService.java +++ b/src/main/java/com/whyc/service/BOMFeedbakService.java @@ -97,6 +97,9 @@ * @return */ public Response confirmFeedback(BOMFeedback feedback) { + DocUser user = ActionUtil.getUser(); + int userId = user.getId().intValue(); + String username = user.getName(); String msg=""; boolean bl=true; int id = feedback.getId(); @@ -111,16 +114,52 @@ //1.纭鍓嶅厛鍒ゆ柇鍙嶉鏄惁琚‘璁� QueryWrapper<BOMFeedback> queryWrapper=new QueryWrapper<>(); queryWrapper.eq("id",id); - queryWrapper.ne("confirm_status",0); - List list=mapper.selectList(queryWrapper); - if(list!=null&&list.size()>0){ + queryWrapper.ne("confirm_status",0).last(" limit 1"); + BOMFeedback feedbackDB = mapper.selectOne(queryWrapper); + if(feedbackDB!=null){ msg="璇ュ弽棣堝凡琚‘璁�"; bl=false; }else{ + if(confirmStatus == 1){ //涓庢垜鏃犲叧,瀹岀粨鍘熻褰�;鐢熸垚鏂拌褰�,鍓旈櫎褰撳墠纭浜� + QueryWrapper<BOMFeedback> query = Wrappers.query(); + query.eq("id",id).last(" limit 1"); + feedbackDB = mapper.selectOne(query); + feedbackDB.setId(null); + String receiverIdsNow = feedbackDB.getReceiverIds(); + String receiverNamesNow = feedbackDB.getReceiverNames(); + //鎺ュ彈鑰卛d鍓旈櫎褰撳墠鐢ㄦ埛id + String[] receiverIdArr = receiverIdsNow.split(","); + StringBuilder idsNextBuilder = new StringBuilder(); + for (int i = 0; i < receiverIdArr.length; i++) { + if(!receiverIdArr[i].equals(String.valueOf(userId))){ + if(idsNextBuilder.length()==0){ + idsNextBuilder.append(receiverIdArr[i]); + }else{ + idsNextBuilder.append(",").append(receiverIdArr[i]); + } + } + } + feedbackDB.setReceiverIds(idsNextBuilder.toString()); + + //鎺ュ彈鑰呭悕瀛楀墧闄ゅ綋鍓嶇敤鎴峰悕 + String[] receiverNamesArr = receiverNamesNow.split(","); + StringBuilder namesNextBuilder = new StringBuilder(); + for (int i = 0; i < receiverNamesArr.length; i++) { + if(!receiverNamesArr[i].equals(String.valueOf(username))){ + if(namesNextBuilder.length()==0){ + namesNextBuilder.append(receiverNamesArr[i]); + }else{ + namesNextBuilder.append(",").append(receiverNamesArr[i]); + } + } + } + feedbackDB.setReceiverNames(namesNextBuilder.toString()); + mapper.insert(feedbackDB); + } //2.纭鍙嶉 UpdateWrapper<BOMFeedback> wrapper=new UpdateWrapper<>(); wrapper.set("confirm_status",confirmStatus); - wrapper.set("confirm_user_name",ActionUtil.getUser().getName()); + wrapper.set("confirm_user_name",username); wrapper.set("reply_content",replyContent); wrapper.set("reply_time",now); wrapper.eq("id",id); -- Gitblit v1.9.1