jiangping
2025-06-06 a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
@@ -53,7 +53,6 @@
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public Integer create(YwProblem ywProblem) {
        if(Objects.isNull(ywProblem)
            || Objects.isNull(ywProblem.getSubmitDate())
            || StringUtils.isBlank(ywProblem.getContent())
            || StringUtils.isBlank(ywProblem.getPhone())
            || StringUtils.isBlank(ywProblem.getName())
@@ -64,6 +63,7 @@
        ywProblem.setIsdeleted(Constants.ZERO);
        ywProblem.setStatus(Constants.ZERO);
        ywProblem.setDealStatus(Constants.ZERO);
        ywProblem.setSubmitDate(new Date());
        ywProblemMapper.insert(ywProblem);
        List<Multifile> fileList = new ArrayList<>();
@@ -130,14 +130,16 @@
    @Override
    public YwProblem getDetail(Integer id) {
    public YwProblem getDetail(Integer id,Integer workorderId) {
        MPJLambdaWrapper<YwProblem> queryWrapper = new MPJLambdaWrapper<YwProblem>();
        queryWrapper.selectAll(YwProblem.class)
                .selectAs(SystemUser::getRealname,YwProblem::getDealUserName)
                .selectAs(Company::getName,YwProblem::getDealUserCompanyName)
                .leftJoin(SystemUser.class,SystemUser::getId,YwProblem::getDealUserId)
                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .eq(YwProblem::getId,id)
                .eq(Objects.nonNull(id),YwProblem::getId,id)
                .eq(Objects.nonNull(workorderId),YwProblem::getWorkorderId,workorderId)
                .last(" limit 1 ")
        ;
        YwProblem ywProblem = ywProblemMapper.selectJoinOne(YwProblem.class,queryWrapper);
        if(Objects.isNull(ywProblem)){
@@ -149,7 +151,7 @@
                .eq(Multifile::getIsdeleted,Constants.ZERO));
        if(multifiles!=null){
            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PROBLEM).getCode();
                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_WORKORDER_FILE).getCode();
            for(Multifile f : multifiles){
                if(StringUtils.isBlank(f.getFileurl())){
                    continue;
@@ -160,6 +162,8 @@
        }
        return ywProblem;
    }
@@ -190,14 +194,16 @@
        }else{
            if(Objects.isNull(ywProblem.getWorkOrderAreaType())
                    ||Objects.isNull(ywProblem.getWorkOrderCateId())
                    ||StringUtils.isBlank(ywProblem.getWorkOrderContent())
                    ||StringUtils.isBlank(ywProblem.getDealInfo())
            ){
                throw new BusinessException(ResponseStatus.BAD_REQUEST);
            }
            YwWorkorder ywWorkorder = new YwWorkorder();
            ywWorkorder.setProjectId(ywProblem.getWorkOrderProjectId());
            ywWorkorder.setBuildingId(ywProblem.getWorkOrderBuildId());
            ywWorkorder.setAreaType(ywProblem.getWorkOrderAreaType());
            ywWorkorder.setCateId(ywProblem.getWorkOrderCateId());
            ywWorkorder.setContent(ywProblem.getWorkOrderContent());
            ywWorkorder.setContent(ywProblem.getDealInfo());
            ywWorkorder.setRoomId(ywProblem.getWorkOrderRoomId());
            ywWorkorder.setFloorId(ywProblem.getWorkOrderFloorId());
            ywWorkorder.setGetDate(ywProblem.getWorkOrderGetDate());
@@ -257,7 +263,26 @@
                .le(Objects.nonNull(model.getDealDateEnd()),YwProblem::getDealDate, Utils.Date.getEnd(model.getDealDateEnd()))
                .eq(Objects.nonNull(model.getDealStatus()),YwProblem::getDealStatus,model.getDealStatus())
        ;
        IPage iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
        IPage<YwProblem> iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
        for (YwProblem ywProblem:iPage.getRecords()) {
            List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
                    .eq(Multifile::getObjId, ywProblem.getId() )
                    .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.PROBLEM_FILE.getKey() }))
                    .eq(Multifile::getIsdeleted,Constants.ZERO));
            if(multifiles!=null){
                String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                        +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_WORKORDER_FILE).getCode();
                for(Multifile f : multifiles){
                    if(StringUtils.isBlank(f.getFileurl())){
                        continue;
                    }
                    f.setFileurlFull(path+f.getFileurl());
                }
                ywProblem.setFileList(multifiles);
            }
        }
        return PageData.from(iPage);
    }