whycxzp
2023-03-01 f30f1da563de55f9e391cae2f53942d1cfde2965
bom反馈更新
2个文件已修改
49 ■■■■ 已修改文件
src/main/java/com/whyc/controller/BOMFeedbakController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BOMFeedbakService.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BOMFeedbakController.java
@@ -36,7 +36,7 @@
    }
    @ApiOperation(value = "接收者确认反馈",notes = "传入id,confirmStatus,replyContent")
    @GetMapping("confirmFeedback")
    @PostMapping("confirmFeedback")
    public Response confirmFeedback(@RequestBody BOMFeedback feedback){
        return service.confirmFeedback(feedback);
    }
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();
                //接受者id剔除当前用户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);