k94314517
2025-04-22 0c1e0ce669b87cb46461682cb7fe5507c9ef7952
工单业务
已修改5个文件
53 ■■■■ 文件已修改
server/src/main/java/com/doumee/api/web/WebWorkOrderController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/dao/business/model/Workorder.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/java/com/doumee/api/web/WebWorkOrderController.java
@@ -4,6 +4,7 @@
import com.doumee.config.annotation.EncryptionReq;
import com.doumee.config.annotation.EncryptionResp;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.ApiResponse;
@@ -17,6 +18,7 @@
import com.doumee.service.business.ManagersService;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.WorkorderService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.java.Log;
@@ -212,7 +214,8 @@
        try {
            Member member = jwtTokenUtil.getUserInfoByToken(token);
            pageWrap.getModel().setQwId(member.getQwId());
            return ApiResponse.success(workorderService.findPage(pageWrap));
            PageData<Workorder> pageData = workorderService.findPage(pageWrap);
            return ApiResponse.success(pageData);
        }catch (BusinessException e){
            return ApiResponse.failed(e.getCode(),e.getMessage());
        }catch (Exception e){
server/src/main/java/com/doumee/dao/business/model/Workorder.java
@@ -222,7 +222,6 @@
    @TableField(exist = false)
    private Long num;
    @ApiModelProperty("文件路径前缀")
    @TableField(exist = false)
    private String path;
server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -90,7 +90,7 @@
        Category com = new Category();
        com.setId(category.getId());
        com.setIdPath(idPath+category.getId()+"/");
        com.setIdPath(idPath+"/"+category.getId()+"/");
        categoryMapper.updateById(com);
        return category.getId();
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -207,7 +207,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);
        }
    }
@@ -404,7 +404,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 +417,7 @@
        workorderLog.setObjType(objType);
        workorderLog.setTitle(title);
        workorderLog.setContent(content);
        workorderLog.setRemark(remark);
        workorderLogMapper.insert(workorderLog);
        return workorderLog.getId();
    }
@@ -613,7 +614,7 @@
                        }
                    }
                }
                if(!Constants.equalsInteger(workorderLog.getObjType(),Constants.FOUR)){
                //查询附件信息
                List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
                        .eq(Multifile::getIsdeleted,Constants.ZERO)
@@ -625,6 +626,7 @@
                        multifile.setFileurlFull(path+multifile.getFileurl());
                    }
                    workorderLog.setMultifileList(multifileList);
                    }
                }
            }
        }
@@ -706,7 +708,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())
@@ -847,7 +850,13 @@
            if(workorder.getQwnoticeMemberIds().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){
                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());
@@ -857,7 +866,15 @@
                    &&  !workorder.getDealerId().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.getDealerId().equals(closeDTO.getMember().getQwId())){
                workorder.setStatus(Constants.WorkOrderStatus.close.getKey());
            }else if(workorder.getQwnoticeMemberIds().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());
@@ -867,9 +884,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) {
@@ -935,7 +964,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) {
@@ -1152,7 +1181,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)){
server/src/main/resources/application.yml
@@ -9,7 +9,7 @@
spring:
  profiles:
    active: dev
    active: test
  # JSON返回配置
  jackson:
    # 默认时区