jiangping
2024-12-23 f3ce3a1f136f359ae872a223aada9e0d23afa9a0
开发更新
已修改20个文件
214 ■■■■■ 文件已修改
admin/src/api/company.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaAreasWindow.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/Inspection/components/taskDetail.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/Inspection/plan.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/areas.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/contractDetail.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/contract/components/contractEdit.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/workorder/workorderList.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/AreasServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/company.js
@@ -11,3 +11,7 @@
export function companyList (data) {
  return request.post('/visitsAdmin/cloudService/business/company/list', data)
}
// 列表
export function companyListConstract (data) {
  return request.post('/visitsAdmin/cloudService/business/company/listForConstract', data)
}
admin/src/components/business/OperaAreasWindow.vue
@@ -9,9 +9,12 @@
      <el-form-item :label="form.type==1?'市名称':'县区名称'" prop="name">
        <el-input v-model="form.name" :placeholder="form.type==1?'输入市名称':'输入县区名称'" v-trim/>
      </el-form-item>
      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/>
      <el-form-item label="行政区代码" prop="code">
        <el-input v-model="form.code" placeholder="请输入排序码" v-trim/>
      </el-form-item>
<!--      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/>
      </el-form-item>-->
    </el-form>
  </GlobalAlertWindow>
</template>
@@ -30,6 +33,7 @@
        id: null,
        parentId: null,
        name: null,
        code:null,
        sortnum: '0',
        type: null
      },
admin/src/views/Inspection/components/taskDetail.vue
@@ -11,12 +11,25 @@
      </el-table-column>
      <el-table-column prop="realname" label="巡检人" min-width="100" show-overflow-tooltip />
      <el-table-column prop="editDate" label="巡检时间" min-width="100" show-overflow-tooltip />
      <el-table-column prop="" label="巡检结果" min-width="100" show-overflow-tooltip>
      <el-table-column prop="files" label="巡检结果" min-width="100" show-overflow-tooltip >
        <template v-slot="{ row }">
          <span class="gray" v-if="row.dealStatus == 0">正常</span>
          <span class="red" v-if="row.dealStatus == 1">异常</span>
        </template>
      </el-table-column>
      <el-table-column prop="" label="巡检附件" min-width="100" show-overflow-tooltip>
        <template v-slot="{ row }">
          <div class="value" v-if="row.multifileList != null && row.multifileList.length">
            <div v-for="item in row.multifileList" :key="item.id" style="display: inline;margin-right: 20px">
              <video v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" ref="videoRef" controls preload="auto"
                     style="width: 60px;height: 60px;object-fit: contain;" :src="item.fileurlFull" />
              <el-image v-else-if="item.fileurlFull" style="width:60px; height: 60px" :src="item.fileurlFull"
                        :preview-src-list="[item.fileurlFull]">
              </el-image>
            </div>
          </div>
        </template>
      </el-table-column>
      <el-table-column prop="dealInfo" label="巡检说明" min-width="100" show-overflow-tooltip />
    </el-table>
    <div class="mt20">
admin/src/views/Inspection/plan.vue
@@ -2,14 +2,17 @@
  <TableLayout :permissions="['business:ywpatrolscheme:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="开始日期" prop="selDate">
        <el-date-picker type="daterange" v-model="searchForm.selDate"  @change="changeSelDate" clearable value-format="yyyy-MM-dd"
        />
      </el-form-item>
      <el-form-item label="结束日期" prop="selDateSec">
        <el-date-picker type="daterange" v-model="searchForm.selDateSec"  @change="changeSelDateSec" clearable value-format="yyyy-MM-dd"
         />
      </el-form-item>
      <el-form-item label="计划名称" prop="title">
        <el-input v-model="searchForm.title" placeholder="请输入计划名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="计划日期" prop="selDate">
        <el-date-picker type="daterange" v-model="searchForm.selDate" clearable value-format="yyyy-MM-dd"
          @change="changeDate" />
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
@@ -90,7 +93,9 @@
    return {
      // 搜索
      searchForm: {
        title: ''
        title: '',
        selDate:[],
        selDateSec:[]
      }
    }
  },
@@ -113,16 +118,7 @@
        this.search()
      })
    },
    changeDate(e) {
      if (e && e.length > 0) {
        this.$set(this.searchForm, 'startDate', e[0])
        this.$set(this.searchForm, 'endDate', e[1])
      } else {
        this.$set(this.searchForm, 'startDate', '')
        this.$set(this.searchForm, 'endDate', '')
      }
    },
    reset() {
      this.searchForm = {}
      this.search()
@@ -137,6 +133,24 @@
      this.$refs.operaYwPatrolSchemeWindow.initData()
    },
    changeSelDate(e) {
      if (e && e.length > 0) {
        this.$set(this.searchForm, 'startDate', e[0] )
        this.$set(this.searchForm, 'endDate', e[1]  )
      } else {
        this.$set(this.searchForm, 'startDate', '')
        this.$set(this.searchForm, 'endDate', '')
      }
    },
    changeSelDateSec(e) {
      if (e && e.length > 0) {
        this.$set(this.searchForm, 'startDateSec', e[0] )
        this.$set(this.searchForm, 'endDateSec', e[1]  )
      } else {
        this.$set(this.searchForm, 'startDateSec', '')
        this.$set(this.searchForm, 'endDateSec', '')
      }
    },
  }
}
</script>
admin/src/views/business/areas.vue
@@ -17,8 +17,11 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column prop="name" label="地区名称" min-width="100px"></el-table-column>
        <el-table-column prop="code" label="行政区代码" align="center" min-width="140px"></el-table-column>
        <el-table-column prop="createDate" label="创建时间" align="center" min-width="140px"></el-table-column>
<!--
        <el-table-column prop="sortnum" label="排序码" align="center" min-width="140px"></el-table-column>
-->
        <el-table-column
          v-if="containPermissions(['business:areas:update', 'business:areas:create', 'business:areas:delete'])"
          label="操作"
admin/src/views/contract/components/contractDetail.vue
@@ -235,7 +235,7 @@
          label="账单来源">
          <template slot-scope="{row}">
            <span v-if="row.type === 0">合同账单</span>
            <span v-if="row.type === 1">自建账单</span>
            <span v-else>自建账单</span>
          </template>
        </el-table-column>
        <el-table-column
@@ -345,7 +345,7 @@
      page: 1,
      total: 0,
      tableData: [],
      loading: false
    }
  },
admin/src/views/contract/components/contractEdit.vue
@@ -316,7 +316,7 @@
import { ywList } from '@/api/customer'
import { getUserList } from '@/api/system/user'
import { getProjectList, tree } from '@/api/project/ywProject'
import { companyList } from '@/api/company'
import {companyListConstract as companyList } from '@/api/company'
import { Message, Loading } from 'element-ui'
import { mapState } from 'vuex'
export default {
@@ -347,7 +347,7 @@
        memberId: '',
        memberName: '',
        fileList: [],
        zlDeposit: '',
        zlPayType: '',
        zlFreeStartDate: '',
@@ -363,7 +363,7 @@
            advanceDays: ''
          }
        ],
        wyDeposit: '',
        wyPayType: '',
        wyFreeStartDate: '',
@@ -379,17 +379,17 @@
            advanceDays: ''
          }
        ],
        roomIds: []
      },
      ids: [],
      zlList: [],
      wyList: [],
      rules,
      contactsList: [],
      loadingInstance: null,
@@ -432,7 +432,7 @@
        { name: '元/m²·年', value: 2 },
        { name: '元/场', value: 6 },
      ],
      houseLvThree: []
    }
  },
admin/src/views/workorder/workorderList.vue
@@ -103,7 +103,6 @@
      showDetail: false,
      searchForm: {
        selDate: [],
        areaType: '',
        areaIds: '',
        projectId: '',
        buildingId: '',
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
@@ -105,7 +105,6 @@
    @ApiModelProperty(value = "费用类型:0=周期费用;1=一次性费用")
    @TableField(exist = false)
    private Integer feeType;
    @ApiModelProperty(value = "所属公司", example = "1")
    private Integer companyId;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
@@ -122,4 +122,15 @@
    @ApiModelProperty(value = "超期任务数")
    @TableField(exist = false)
    private Integer timeOutTaskNum;
    @ApiModelProperty(value = "开始日期(搜索截止日期)")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDateSec;
    @ApiModelProperty(value = "结束日期(搜索截止日期)")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDateSec;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
@@ -35,7 +35,6 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -44,7 +43,6 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -33,6 +33,7 @@
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelColumn(name="上报时间",index = 5,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -83,7 +84,6 @@
    @ApiModelProperty(value = "提报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelColumn(name="上报时间",index = 5,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date submitDate;
    @ApiModelProperty(value = "工单分类编码(关联category)", example = "1")
@@ -97,7 +97,7 @@
    private String code;
    @ApiModelProperty(value = "处理状态 0待处理 1已分派 2已处理", example = "1")
    @ExcelColumn(name="工单状态",index = 7,width = 10,valueMapping = "0=待处理;1=已分派;1=已处理;")
    @ExcelColumn(name="工单状态",index = 7,width = 10,valueMapping = "0=待处理;1=已分派;2=已处理;")
    private Integer dealStatus;
    @ApiModelProperty(value = "分派人编码(关联system_user)", example = "1")
@@ -136,9 +136,12 @@
    @TableField(exist = false)
    private String buildingName;
    @ApiModelProperty(value = "房源名称")
    @ExcelColumn(name="房源",index = 2,width = 10)
    @TableField(exist = false)
    private String roomName;
    @ApiModelProperty(value = "报修区域")
    @ExcelColumn(name="报修区域",index = 2,width = 10)
    @TableField(exist = false)
    private String areaNameInfo;
    @ApiModelProperty(value = "楼层名称")
    @TableField(exist = false)
    private String floorName;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/AreasServiceImpl.java
@@ -102,6 +102,7 @@
        wrapper.lambda().eq(Areas::getId,areas.getId());
        Areas update = new Areas();
        update.setName(areas.getName());
        update.setCode(areas.getCode());
        update.setSortnum(areas.getSortnum());
        areasMapper.update(update,wrapper);
        //刷新缓存数据
@@ -326,7 +327,7 @@
       CITY_LIST=null;
       AREA_LIST = null;
       ALL_AREA_TREE = null;
       ALL_AREA_LIST =  areasMapper.selectList(new QueryWrapper<>(a).lambda().orderByDesc(Areas::getSortnum));
       ALL_AREA_LIST =  areasMapper.selectList(new QueryWrapper<>(a).lambda().orderByAsc(Areas::getCode));
       if(ALL_AREA_LIST!=null){
           for(Areas model : ALL_AREA_LIST){
                if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -436,6 +436,7 @@
        MPJLambdaWrapper<Company> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Company.class);
        queryWrapper.like(company.getName() != null,Company::getName, company.getName());
        queryWrapper.eq(Company::getStatus, Constants.ZERO);
        queryWrapper.eq(Company::getType, Constants.TWO);
        queryWrapper.eq(Company::getIsdeleted, Constants.ZERO);
        queryWrapper.exists("select b.id from yw_account b where b.isdeleted=0 and b.company_id=t.id and b.status=0");
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1016,6 +1016,8 @@
            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,人员信息不存在!");
        }
       if(model.getCompanyId()!=null) {
           member.setEditor(member.getLoginUserInfo().getId());
           member.setEditDate(new Date());
           if(Constants.equalsInteger(member.getHeadStatus(),Constants.ONE)){
               //如果是取消主管
               companyMapper.update(null,new UpdateWrapper<Company>().lambda()
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -290,11 +290,13 @@
                .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO)
                .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle())
                //查询有时段交集的数据
                .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()),
                        " t.START_DATE <= '"+pageWrap.getModel().getEndDate()+"' and t.END_DATE >= '"+pageWrap.getModel().getStartDate()+"' "
                )
//                .ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
//                .le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
              /*  .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()),
                        " t.START_DATE <= '"+pageWrap.getModel().getEndDate()+"' or t.END_DATE >= '"+pageWrap.getModel().getStartDate()+"' "
                )*/
                .ge( model.getStartDate()!=null,YwPatrolScheme::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
                .le(Objects.nonNull(model.getEndDate()),YwPatrolScheme::getStartDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
                .ge(Objects.nonNull(model.getStartDateSec()),YwPatrolScheme::getEndDate, Utils.Date.getStart(pageWrap.getModel().getStartDateSec()))
                .le(Objects.nonNull(model.getEndDateSec()),YwPatrolScheme::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDateSec()))
                .orderByDesc(YwPatrolScheme::getCreateDate)
        ;
        IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
@@ -135,7 +135,33 @@
                .orderByDesc(YwPatrolScheme::getCreateDate)
        ;
        IPage<YwPatrolTaskRecord> iPage = ywPatrolTaskRecordMapper.selectJoinPage(page,YwPatrolTaskRecord.class,queryWrapper); 
        if(iPage!=null && iPage.getRecords()!=null){
            for(YwPatrolTaskRecord m : iPage.getRecords()){
                getFileListByModel(m);
            }
        }
        return PageData.from(iPage);
    }
    private void getFileListByModel(YwPatrolTaskRecord ywPatrolTaskRecord) {
        //附件数据
        List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>()
                .selectAll(Multifile.class)
                .selectAs(SystemUser::getRealname,Multifile::getUserName)
                .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
                .eq(Multifile::getObjId,ywPatrolTaskRecord.getId())
                .eq(Multifile::getIsdeleted,Constants.ZERO)
                .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_TASK_RECORD_FILE.getKey()));
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
            for (Multifile multifile:multifileList) {
                if(StringUtils.isNotBlank(multifile.getFileurl())){
                    multifile.setFileurlFull(path + multifile.getFileurl());
                }
            }
            ywPatrolTaskRecord.setMultifileList(multifileList);
        }
    }
    @Override
@@ -253,24 +279,7 @@
        if(Objects.isNull(ywPatrolTaskRecord)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未匹配到巡检点!");
        }
        //附件数据
        List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>()
                .selectAll(Multifile.class)
                .selectAs(SystemUser::getRealname,Multifile::getUserName)
                .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
                .eq(Multifile::getObjId,ywPatrolTaskRecord.getId())
                .eq(Multifile::getIsdeleted,Constants.ZERO)
                .eq(Multifile::getObjType,Constants.MultiFile.FN_PATROL_TASK_RECORD_FILE.getKey()));
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
            for (Multifile multifile:multifileList) {
                if(StringUtils.isNotBlank(multifile.getFileurl())){
                    multifile.setFileurlFull(path + multifile.getFileurl());
                }
            }
            ywPatrolTaskRecord.setMultifileList(multifileList);
        }
        getFileListByModel(ywPatrolTaskRecord);
        return ywPatrolTaskRecord;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
@@ -86,8 +86,8 @@
                .selectAs(YwPatrolScheme::getCode,YwPatrolTask::getPlanCode)
                .selectAs(YwPatrolScheme::getTitle,YwPatrolTask::getPlanTitle)
                .selectAs(SystemUser::getRealname,YwPatrolTask::getUserName)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and t.ISDELETED = 0  ) ",YwPatrolTask::getPatrolNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and t.STATUS = 1 and t.ISDELETED = 0) ",YwPatrolTask::getFinishNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.ISDELETED = 0  ) ",YwPatrolTask::getPatrolNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.STATUS = 1 and ytr.ISDELETED = 0) ",YwPatrolTask::getFinishNum)
                .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTask::getDealUserId)
                .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
                .eq(YwPatrolTask::getIsdeleted, Constants.ZERO)
@@ -140,8 +140,8 @@
                .selectAs(YwPatrolScheme::getCode,YwPatrolTask::getPlanCode)
                .selectAs(YwPatrolScheme::getTitle,YwPatrolTask::getPlanTitle)
                .selectAs(SystemUser::getRealname,YwPatrolTask::getUserName)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and t.ISDELETED = 0  ) ",YwPatrolTask::getPatrolNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and t.STATUS = 1 and t.ISDELETED = 0) ",YwPatrolTask::getFinishNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.ISDELETED = 0  ) ",YwPatrolTask::getPatrolNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.STATUS = 1 and ytr.ISDELETED = 0) ",YwPatrolTask::getFinishNum)
                .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTask::getDealUserId)
                .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
                .eq(YwPatrolTask::getIsdeleted, Constants.ZERO)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
@@ -282,6 +282,7 @@
        List<YwRoom>  ywRoomList = ywRoomMapper.selectList(new QueryWrapper<YwRoom>().lambda()
                .eq(YwRoom::getIsdeleted,Constants.ZERO)
                .eq(YwRoom::getStatus,Constants.ZERO)
                .eq(YwRoom::getIsInvestment,Constants.ONE)
                .eq(Objects.nonNull(dataDTO.getProjectId()),YwRoom::getProjectId,dataDTO.getProjectId())
                .apply(Objects.nonNull(dataDTO)&&Objects.nonNull(dataDTO.getStartDate())&&Objects.nonNull(dataDTO.getEndDate())," id not in  (" +
                        " SELECT y2.room_id FROM  yw_contract y1 left join yw_contract_room y2 on y1.id = y2.contract_id where 1 = 1 and y1.`STATUS` in( 0,1,2) " +
@@ -291,7 +292,7 @@
                        " SELECT y2.room_id FROM  yw_contract y1 left join yw_contract_room y2 on y1.id = y2.contract_id where 1 = 1 and y1.`STATUS` = 3 " +
                        " and y1.START_DATE < '"+dataDTO.getEndDate()+" 00:00:00' and y1.BT_DATE > '"+ dataDTO.getStartDate() +"  00:00:00' " +
                        "  ) ")
                .orderByAsc(YwRoom::getSortnum)
                .orderByAsc(YwRoom::getRoomNum)
        );
        for (YwRoom data:ywRoomList) {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -499,10 +499,28 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        if(StringUtils.isNotBlank(pageWrap.getModel().getBuildingName())){
            queryWrapper.and(rw ->{
                rw.like(YwBuilding::getName,pageWrap.getModel().getBuildingName()).or()
                        .like(YwRoom::getName,pageWrap.getModel().getBuildingName());
            });
        }
        queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), YwWorkorder::getCreateDate, pageWrap.getModel().getQueryStartTime())
                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()), YwWorkorder::getCreateDate, pageWrap.getModel().getQueryEndTime());
        queryWrapper.orderByDesc(YwContract::getCreateDate );
        return PageData.from(ywWorkorderMapper.selectPage(page, queryWrapper));
        PageData<YwWorkorder> result =   PageData.from(ywWorkorderMapper.selectPage(page, queryWrapper));
        if(result!=null && result.getRecords()!=null){
            for(YwWorkorder m : result.getRecords()){
                if(Constants.equalsInteger(m.getAreaType(),Constants.ZERO)){
                        //0室内维修
                    m.setAreaNameInfo(StringUtils.defaultString(m.getBuildingName(),"")+"/"+StringUtils.defaultString(m.getRoomNum(),""));
                }else{
                    m.setAreaNameInfo(StringUtils.defaultString(m.getBuildingName(),"")+"/"+StringUtils.defaultString(m.getFloorName(),""));
                }
            }
        }
        return result;
    }
    @Override