From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 06 六月 2025 19:19:34 +0800 Subject: [PATCH] 开发更新 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java | 537 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 442 insertions(+), 95 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java index 84371ec..07ad32d 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java @@ -1,5 +1,7 @@ package com.doumee.service.business.impl; +import com.alibaba.fastjson.JSONObject; +import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; @@ -7,26 +9,33 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; -import com.doumee.dao.business.YwBuildingMapper; -import com.doumee.dao.business.YwProjectMapper; -import com.doumee.dao.business.YwRoomMapper; -import com.doumee.dao.business.YwWorkorderMapper; -import com.doumee.dao.business.model.YwBuilding; -import com.doumee.dao.business.model.YwProject; -import com.doumee.dao.business.model.YwRoom; -import com.doumee.dao.business.model.YwWorkorder; +import com.doumee.dao.business.*; +import com.doumee.dao.business.dto.YwWorkorderDataDTO; +import com.doumee.dao.business.model.*; +import com.doumee.dao.business.vo.YwWorkorderDataVO; +import com.doumee.dao.system.MultifileMapper; +import com.doumee.dao.system.SystemUserMapper; +import com.doumee.dao.system.join.NoticesJoinMapper; +import com.doumee.dao.system.model.Multifile; +import com.doumee.dao.system.model.Notices; +import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.YwWorkorderService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.commons.lang3.StringUtils; +import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.Date; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 杩愮淮宸ュ崟淇℃伅琛⊿ervice瀹炵幇 @@ -39,13 +48,27 @@ @Autowired private YwWorkorderMapper ywWorkorderMapper; @Autowired + private SystemUserMapper systemUserMapper; + @Autowired + private YwWorkorderLogMapper ywWorkorderLogMapper; + @Autowired + private SystemDictDataBiz systemDictDataBiz; + @Autowired + private MultifileMapper multifileMapper; + @Autowired private YwProjectMapper ywProjectMapper; @Autowired private YwRoomMapper ywRoomMapper; @Autowired private YwBuildingMapper ywBuildingMapper; + @Autowired + private YwFloorMapper ywFloorMapper; + @Autowired + private NoticesJoinMapper noticesJoinMapper; + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(YwWorkorder model) { dealParamValid(model); @@ -53,10 +76,49 @@ model.setIsdeleted(Constants.ZERO); model.setCreateDate(new Date()); model.setStatus(Constants.ZERO); + model.setDealStatus(Constants.ZERO); model.setEditDate(model.getCreateDate()); model.setEditor(model.getCreator()); ywWorkorderMapper.insert(model); + + List<Multifile> fileList = new ArrayList<>(); + if(model.getFileList()!=null && model.getFileList().size()>0){ + boolean isTrue = false; + for (int i = 0; i < model.getFileList().size(); i++) { + Multifile multifile = model.getFileList().get(i); + if(StringUtils.isBlank(multifile.getFileurl())){ + continue; + } + multifile.setCreateDate(model.getCreateDate()); + multifile.setEditDate(model.getCreateDate()); + multifile.setCreator(model.getEditor()); + multifile.setIsdeleted(Constants.ZERO); + multifile.setObjId(model.getId()); + multifile.setEditor(model.getCreator()); + multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey()); + multifile.setSortnum(i+1); + fileList.add(multifile); + } + } + if(fileList.size()>0){ + multifileMapper.insert(fileList); + } + dealLogBiz(model,Constants.YwLogType.WORKORDER_CREATE,model.getLoginUserInfo().getRealname(),null);//璁板綍鏂板缓鏃ュ織 return model.getId(); + } + + private void dealLogBiz(YwWorkorder model,Constants.YwLogType type,String param1,String param2) { + YwWorkorderLog log = new YwWorkorderLog(); + log.setCreateDate(model.getEditDate()); + log.setCreator(model.getCreator()); + log.setJobId(model.getId()); + log.setIsdeleted(Constants.ZERO); + log.setObjId(model.getId()+""); + log.setObjType(type.getKey()); + log.setParam1(param1); + log.setParam2(param2); + log.setTitle(type.getNoteinfo()); + ywWorkorderLogMapper.insert(log); } private void dealParamValid(YwWorkorder model) { @@ -73,13 +135,14 @@ model.setProjectId(room.getProjectId()); }else{ //濡傛灉鏄叕鍏卞尯鍩熻淇紝蹇呴』閫夋嫨妤煎畤淇℃伅 - if(model.getBuildingId()==null){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒"); + if(model.getFloorId()==null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ灞備俊鎭紒"); } - YwBuilding room = ywBuildingMapper.selectById(model.getRoomId()); + YwFloor room = ywFloorMapper.selectById(model.getFloorId()); if(room ==null || Constants.equalsInteger(room.getIsdeleted(),Constants.ONE)){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒"); + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ灞備俊鎭紒"); } + model.setBuildingId(room.getBuildingId()); model.setProjectId(room.getProjectId()); } } @@ -111,13 +174,185 @@ } @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public void dispatchOrder(YwWorkorder ywWorkorder){ + YwWorkorder model = this.findById(ywWorkorder.getId()); + if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟淇℃伅涓嶅瓨鍦紒"); + } + if(!Constants.equalsInteger(model.getDealStatus(),Constants.ZERO) +// && !Constants.equalsInteger(model.getDealStatus(),Constants.ONE) + ){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟鐘舵�佸凡娴佽浆锛屼笉鏀寔褰撳墠鎿嶄綔锛�"); + } + + SystemUser user = systemUserMapper.selectById(ywWorkorder.getDealUserId()); + if(user ==null || (user.getDeleted()!=null&& user.getDeleted() )){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅涓嶅瓨鍦紒"); + } + YwWorkorder update = new YwWorkorder(); + update.setId(model.getId()); + update.setEditDate(new Date()); + update.setEditor(ywWorkorder.getLoginUserInfo().getId()); + update.setDealStatus(Constants.ONE); + update.setDispatchUserId(update.getEditor()); + update.setDispatchDate(update.getEditDate()); + update.setDispatchInfo(ywWorkorder.getDispatchInfo()); + update.setDealUserId(ywWorkorder.getDealUserId()); + ywWorkorderMapper.updateById(update); + + //娣诲姞寰呭姙淇℃伅 + Notices notices = new Notices(); + notices.setCreateDate(new Date()); + notices.setCreator(update.getEditor()); + notices.setIsdeleted(Constants.ZERO); + notices.setParam1(DateUtil.formatDate(model.getCreateDate(),"yyyy-MM-dd")); + notices.setTitle("宸ュ崟寰呭姙"); + notices.setObjId(update.getId()); + notices.setObjType(Constants.TWO); + notices.setType(notices.getObjType()); + notices.setUserId(ywWorkorder.getDealUserId()); + notices.setStatus(Constants.ZERO); + //鏁寸悊json鏁版嵁 + Map<String,Object> jsonMap = new HashMap<>(); + jsonMap.put("key1", model.getBuildingName()+"/"+model.getFloorName()); + jsonMap.put("key2", DateUtil.getFomartDate(model.getCreateDate(),"yyyy-MM-dd HH:mm:ss")); + jsonMap.put("key3", Constants.equalsInteger(model.getAreaType(),Constants.ZERO)?"瀹ゅ唴缁翠慨":"鍏叡鍖哄煙"); + jsonMap.put("key4", model.getCategoryParentName()+"/"+model.getCategoryName()); + notices.setParam2(JSONObject.toJSONString(jsonMap)); + notices.setParam3(Constants.ZERO+""); + noticesJoinMapper.insert(notices); + + + dealLogBiz(model,Constants.YwLogType.WORKORDER_DISPATCH,ywWorkorder.getLoginUserInfo().getRealname(),user.getRealname());//璁板綍鏂板缓鏃ュ織 + } + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public void dealOrder(YwWorkorder ywWorkorder){ + YwWorkorder model = this.findById(ywWorkorder.getId()); + if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟淇℃伅涓嶅瓨鍦紒"); + } + if(!Constants.equalsInteger(model.getDealStatus(),Constants.ZERO) && !Constants.equalsInteger(model.getDealStatus(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟鐘舵�佸凡娴佽浆锛屼笉鏀寔褰撳墠鎿嶄綔锛�"); + } + +// SystemUser user = systemUserMapper.selectById(ywWorkorder.getDealUserId()); +// if(user ==null || (user.getDeleted()!=null&& user.getDeleted() )){ +// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅涓嶅瓨鍦紒"); +// } + YwWorkorder update = new YwWorkorder(); + update.setId(model.getId()); + update.setEditDate(new Date()); + update.setEditor(ywWorkorder.getLoginUserInfo().getId()); + update.setDealStatus(Constants.TWO); + update.setDealUserId(update.getEditor()); + update.setDealDate(update.getEditDate()); + update.setDealInfo(ywWorkorder.getDealInfo()); + ywWorkorderMapper.updateById(update); + + + //鏍囪寰呭姙宸插鐞� + noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda() + .set(Notices::getStatus,Constants.ONE) + .set(Notices::getParam3,Constants.TWO) + .eq(Notices::getIsdeleted,Constants.ZERO) + .eq(Notices::getObjType,Constants.TWO) + .eq(Notices::getObjId,update.getId()) + ); + + + List<Multifile> fileList = new ArrayList<>(); + if(ywWorkorder.getDealFileList()!=null && ywWorkorder.getDealFileList().size()>0){ + for (int i = 0; i < ywWorkorder.getDealFileList().size(); i++) { + Multifile multifile = ywWorkorder.getDealFileList().get(i); + if(StringUtils.isBlank(multifile.getFileurl())){ + continue; + } + multifile.setCreateDate(update.getEditDate()); + multifile.setCreator(update.getEditor()); + multifile.setEditDate(update.getEditDate()); + multifile.setIsdeleted(Constants.ZERO); + multifile.setObjId(model.getId()); + multifile.setEditor(update.getEditor()); + multifile.setObjType(Constants.MultiFile.YW_WORKORDER_DEAL.getKey()); + multifile.setSortnum(i+1); + fileList.add(multifile); + } + } + if(fileList.size()>0){ + multifileMapper.insert(fileList); + } + dealLogBiz(model,Constants.YwLogType.WORKORDER_DEAL,ywWorkorder.getLoginUserInfo().getRealname(),null);//璁板綍鏂板缓鏃ュ織 + } + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void updateById(YwWorkorder model) { dealParamValid(model); model.setEditDate(new Date()); model.setEditor(model.getLoginUserInfo().getId()); ywWorkorderMapper.updateById(model); - } + List<Multifile> fileList = new ArrayList<>(); + if(model.getFileList()!=null && model.getFileList().size()>0){ + for (int i = 0; i < model.getFileList().size(); i++) { + Multifile multifile = model.getFileList().get(i); + if(StringUtils.isBlank(multifile.getFileurl())){ + continue; + } + multifile.setCreateDate(new Date()); + multifile.setCreator(model.getEditor()); + multifile.setIsdeleted(Constants.ZERO); + multifile.setObjId(model.getId()); + multifile.setCreator(model.getCreator()); + multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey()); + multifile.setSortnum(i+1); + fileList.add(multifile); + } + } + multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda() + .set(Multifile::getIsdeleted,Constants.ONE) + .set(Multifile::getEditDate,model.getEditDate()) + .set(Multifile::getEditor,model.getEditor()) + .eq(Multifile::getIsdeleted, Constants.ZERO) + .eq(Multifile::getObjType,Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey()) + ); + if(fileList.size()>0){ + multifileMapper.insert(fileList); + } + } + private void initFiles(YwWorkorder model) { + List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId, model.getId() ) + .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey() + ,Constants.MultiFile.YW_WORKORDER_DEAL.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()); + if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey())){ + //鐜板満鎯呭喌 + if(model.getFileList() == null){ + model.setFileList(new ArrayList<>()); + } + model.getFileList().add(f); + } + if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.YW_WORKORDER_DEAL.getKey())){ + //澶勭悊闄勪欢 + if(model.getDealFileList() == null){ + model.setDealFileList(new ArrayList<>()); + } + model.getDealFileList().add(f); + } + + } + } + } @Override public void updateByIdInBatch(List<YwWorkorder> ywWorkorders) { if (CollectionUtils.isEmpty(ywWorkorders)) { @@ -130,7 +365,44 @@ @Override public YwWorkorder findById(Integer id) { - return ywWorkorderMapper.selectById(id); + MPJLambdaWrapper<YwWorkorder> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(YwWorkorder.class ) + .selectAs(SystemUser::getRealname,YwWorkorder::getDealUserName) + .selectAs(Company::getName,YwWorkorder::getDealUserCompany) + .select("t3.realname",YwWorkorder::getCreatorName) + .select("t3.mobile",YwWorkorder::getCreatorMobile) + .select("c.name",YwWorkorder::getCreatorCompany) + .select("ct.name",YwWorkorder::getCategoryName) + .select("ct1.name",YwWorkorder::getCategoryParentName) + .selectAs(YwRoom::getName,YwWorkorder::getRoomName) + .selectAs(YwRoom::getRoomNum,YwWorkorder::getRoomNum) + .selectAs(YwFloor::getName,YwWorkorder::getFloorName) + .selectAs(YwBuilding::getName,YwWorkorder::getBuildingName) + .selectAs(YwProject::getName,YwWorkorder::getProjectName) + .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDealUserId) + .leftJoin(Category.class,Category::getId,YwWorkorder::getCateId) + .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator) + .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId) + .leftJoin(YwRoom.class,YwRoom::getId,YwWorkorder::getRoomId) + .leftJoin(YwFloor.class,YwFloor::getId,YwWorkorder::getFloorId) + .leftJoin(YwBuilding.class,YwBuilding::getId,YwWorkorder::getBuildingId) + .leftJoin(YwProject.class,YwProject::getId,YwWorkorder::getProjectId) + .leftJoin(" company c on c.id = t1.company_id ") + .leftJoin(" category ct on ct.id = t.cate_id ") + .leftJoin(" category ct1 on ct1.id = ct.PARENT_ID ") + .eq(YwWorkorder::getId,id); + YwWorkorder model = ywWorkorderMapper.selectJoinOne(YwWorkorder.class,queryWrapper); + initFiles(model);//璇诲彇闄勪欢淇℃伅 + YwWorkorderLog log = new YwWorkorderLog(); + log.setJobId(model.getId()); + log.setIsdeleted(Constants.ZERO); + model.setLogList(ywWorkorderLogMapper.selectList(new QueryWrapper<YwWorkorderLog>(log) + .lambda() + .in(YwWorkorderLog::getObjType,Constants.YwLogType.WORKORDER_DEAL.getKey() + ,Constants.YwLogType.WORKORDER_CREATE.getKey() + ,Constants.YwLogType.WORKORDER_DISPATCH.getKey()) + .orderByAsc(YwWorkorderLog::getCreateDate))); + return model; } @Override @@ -149,101 +421,132 @@ @Override public PageData<YwWorkorder> findPage(PageWrap<YwWorkorder> pageWrap) { IPage<YwWorkorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<YwWorkorder> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<YwWorkorder> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(YwWorkorder.class ) + .selectAs(SystemUser::getRealname,YwWorkorder::getDealUserName) + .select("t3.realname",YwWorkorder::getCreatorName) + .selectAs(Category::getName,YwWorkorder::getCategoryName) + .selectAs(YwRoom::getName,YwWorkorder::getRoomName) + .selectAs(YwRoom::getRoomNum,YwWorkorder::getRoomNum) + .selectAs(YwFloor::getName,YwWorkorder::getFloorName) + .selectAs(YwBuilding::getName,YwWorkorder::getBuildingName) + .selectAs(YwProject::getName,YwWorkorder::getProjectName) + .selectAs(YwProblem::getId,YwWorkorder::getProblemId) + .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDealUserId) + .leftJoin(Category.class,Category::getId,YwWorkorder::getCateId) + .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator) + .leftJoin(YwRoom.class,YwRoom::getId,YwWorkorder::getRoomId) + .leftJoin(YwFloor.class,YwFloor::getId,YwWorkorder::getFloorId) + .leftJoin(YwBuilding.class,YwBuilding::getId,YwWorkorder::getBuildingId) + .leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId) + .leftJoin(YwProblem.class,YwProblem::getWorkorderId,YwWorkorder::getId) + .apply(StringUtils.isNotBlank(pageWrap.getModel().getQueryStatus())," find_in_set(t.DEAL_STATUS ,'"+pageWrap.getModel().getQueryStatus()+"') "); pageWrap.getModel().setIsdeleted(Constants.ZERO); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(YwWorkorder::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(YwWorkorder::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(YwWorkorder::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(YwWorkorder::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(YwWorkorder::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(YwWorkorder::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(YwWorkorder::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getTitle() != null) { - queryWrapper.lambda().eq(YwWorkorder::getTitle, pageWrap.getModel().getTitle()); - } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(YwWorkorder::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(YwWorkorder::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getSortnum() != null) { - queryWrapper.lambda().eq(YwWorkorder::getSortnum, pageWrap.getModel().getSortnum()); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.lambda().eq(YwWorkorder::getContent, pageWrap.getModel().getContent()); - } - if (pageWrap.getModel().getGetDate() != null) { - queryWrapper.lambda().ge(YwWorkorder::getGetDate, Utils.Date.getStart(pageWrap.getModel().getGetDate())); - queryWrapper.lambda().le(YwWorkorder::getGetDate, Utils.Date.getEnd(pageWrap.getModel().getGetDate())); - } - if (pageWrap.getModel().getProjectId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getProjectId, pageWrap.getModel().getProjectId()); - } - if (pageWrap.getModel().getBuildingId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getBuildingId, pageWrap.getModel().getBuildingId()); - } - if (pageWrap.getModel().getRoomId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getRoomId, pageWrap.getModel().getRoomId()); - } - if (pageWrap.getModel().getUserId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getUserId, pageWrap.getModel().getUserId()); - } - if (pageWrap.getModel().getPhone() != null) { - queryWrapper.lambda().eq(YwWorkorder::getPhone, pageWrap.getModel().getPhone()); - } - if (pageWrap.getModel().getSubmitDate() != null) { - queryWrapper.lambda().ge(YwWorkorder::getSubmitDate, Utils.Date.getStart(pageWrap.getModel().getSubmitDate())); - queryWrapper.lambda().le(YwWorkorder::getSubmitDate, Utils.Date.getEnd(pageWrap.getModel().getSubmitDate())); - } - if (pageWrap.getModel().getCateId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getCateId, pageWrap.getModel().getCateId()); - } - if (pageWrap.getModel().getAreaType() != null) { - queryWrapper.lambda().eq(YwWorkorder::getAreaType, pageWrap.getModel().getAreaType()); - } - if (pageWrap.getModel().getCode() != null) { - queryWrapper.lambda().eq(YwWorkorder::getCode, pageWrap.getModel().getCode()); - } - if (pageWrap.getModel().getDealStatus() != null) { - queryWrapper.lambda().eq(YwWorkorder::getDealStatus, pageWrap.getModel().getDealStatus()); + queryWrapper.eq(YwWorkorder::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getDispatchUserId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getDispatchUserId, pageWrap.getModel().getDispatchUserId()); + queryWrapper.eq(YwWorkorder::getDispatchUserId, pageWrap.getModel().getDispatchUserId()); + } + if(Objects.nonNull(pageWrap.getModel().getRoomName())){ + queryWrapper.and(i->i.like(YwFloor::getName,pageWrap.getModel().getRoomName()).or() + .like(YwRoom::getRoomNum,pageWrap.getModel().getRoomName()) + ); + } + if (pageWrap.getModel().getCreator() != null) { + queryWrapper.eq(YwWorkorder::getCreator, pageWrap.getModel().getCreator()); + } + if (pageWrap.getModel().getOrigin() != null) { + queryWrapper.eq(YwWorkorder::getOrigin, pageWrap.getModel().getOrigin()); + } + if (pageWrap.getModel().getCreateDate() != null) { + queryWrapper.ge(YwWorkorder::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); + queryWrapper.le(YwWorkorder::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); + } + if (pageWrap.getModel().getEditor() != null) { + queryWrapper.eq(YwWorkorder::getEditor, pageWrap.getModel().getEditor()); + } + if (pageWrap.getModel().getEditDate() != null) { + queryWrapper.ge(YwWorkorder::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); + queryWrapper.le(YwWorkorder::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); + } + if (pageWrap.getModel().getIsdeleted() != null) { + queryWrapper.eq(YwWorkorder::getIsdeleted, pageWrap.getModel().getIsdeleted()); + } + if (pageWrap.getModel().getTitle() != null) { + queryWrapper.eq(YwWorkorder::getTitle, pageWrap.getModel().getTitle()); + } + if (pageWrap.getModel().getRemark() != null) { + queryWrapper.eq(YwWorkorder::getRemark, pageWrap.getModel().getRemark()); + } + if (pageWrap.getModel().getStatus() != null) { + queryWrapper.eq(!Constants.equalsInteger(pageWrap.getModel().getStatus(),-1),YwWorkorder::getStatus, pageWrap.getModel().getStatus()); + queryWrapper.in(Constants.equalsInteger(pageWrap.getModel().getStatus(),-1),YwWorkorder::getStatus, Constants.ZERO,Constants.ONE); + } + if (pageWrap.getModel().getSortnum() != null) { + queryWrapper.eq(YwWorkorder::getSortnum, pageWrap.getModel().getSortnum()); + } + if (pageWrap.getModel().getContent() != null) { + queryWrapper.eq(YwWorkorder::getContent, pageWrap.getModel().getContent()); + } + if (pageWrap.getModel().getGetDate() != null) { + queryWrapper.ge(YwWorkorder::getGetDate, Utils.Date.getStart(pageWrap.getModel().getGetDate())); + queryWrapper.le(YwWorkorder::getGetDate, Utils.Date.getEnd(pageWrap.getModel().getGetDate())); + } + if (pageWrap.getModel().getProjectId() != null) { + queryWrapper.eq(YwWorkorder::getProjectId, pageWrap.getModel().getProjectId()); + } + if (pageWrap.getModel().getBuildingId() != null) { + queryWrapper.eq(YwWorkorder::getBuildingId, pageWrap.getModel().getBuildingId()); + } + if (pageWrap.getModel().getRoomId() != null) { + queryWrapper.eq(YwWorkorder::getRoomId, pageWrap.getModel().getRoomId()); + } + if (pageWrap.getModel().getFloorId() != null) { + queryWrapper.eq(YwWorkorder::getFloorId, pageWrap.getModel().getFloorId()); + } + if (pageWrap.getModel().getUserId() != null) { + queryWrapper.eq(YwWorkorder::getUserId, pageWrap.getModel().getUserId()); + } + if (pageWrap.getModel().getPhone() != null) { + queryWrapper.eq(YwWorkorder::getPhone, pageWrap.getModel().getPhone()); + } + if (pageWrap.getModel().getSubmitDate() != null) { + queryWrapper.ge(YwWorkorder::getSubmitDate, Utils.Date.getStart(pageWrap.getModel().getSubmitDate())); + queryWrapper.le(YwWorkorder::getSubmitDate, Utils.Date.getEnd(pageWrap.getModel().getSubmitDate())); + } + if (pageWrap.getModel().getCateId() != null) { + queryWrapper.eq(YwWorkorder::getCateId, pageWrap.getModel().getCateId()); + } + if (pageWrap.getModel().getAreaType() != null) { + queryWrapper.eq(YwWorkorder::getAreaType, pageWrap.getModel().getAreaType()); + } + if (pageWrap.getModel().getCode() != null) { + queryWrapper.eq(YwWorkorder::getCode, pageWrap.getModel().getCode()); + } + if (pageWrap.getModel().getDealStatus() != null) { + queryWrapper.eq(YwWorkorder::getDealStatus, pageWrap.getModel().getDealStatus()); } if (pageWrap.getModel().getDispatchDate() != null) { - queryWrapper.lambda().ge(YwWorkorder::getDispatchDate, Utils.Date.getStart(pageWrap.getModel().getDispatchDate())); - queryWrapper.lambda().le(YwWorkorder::getDispatchDate, Utils.Date.getEnd(pageWrap.getModel().getDispatchDate())); + queryWrapper.ge(YwWorkorder::getDispatchDate, Utils.Date.getStart(pageWrap.getModel().getDispatchDate())); + queryWrapper.le(YwWorkorder::getDispatchDate, Utils.Date.getEnd(pageWrap.getModel().getDispatchDate())); } if (pageWrap.getModel().getDispatchInfo() != null) { - queryWrapper.lambda().eq(YwWorkorder::getDispatchInfo, pageWrap.getModel().getDispatchInfo()); + queryWrapper.eq(YwWorkorder::getDispatchInfo, pageWrap.getModel().getDispatchInfo()); } if (pageWrap.getModel().getDealUserId() != null) { - queryWrapper.lambda().eq(YwWorkorder::getDealUserId, pageWrap.getModel().getDealUserId()); + queryWrapper.eq(YwWorkorder::getDealUserId, pageWrap.getModel().getDealUserId()); } if (pageWrap.getModel().getDealDate() != null) { - queryWrapper.lambda().ge(YwWorkorder::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate())); - queryWrapper.lambda().le(YwWorkorder::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate())); + queryWrapper.ge(YwWorkorder::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate())); + queryWrapper.le(YwWorkorder::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate())); } if (pageWrap.getModel().getDealInfo() != null) { - queryWrapper.lambda().eq(YwWorkorder::getDealInfo, pageWrap.getModel().getDealInfo()); + queryWrapper.eq(YwWorkorder::getDealInfo, pageWrap.getModel().getDealInfo()); } if (pageWrap.getModel().getDealType() != null) { - queryWrapper.lambda().eq(YwWorkorder::getDealType, pageWrap.getModel().getDealType()); + queryWrapper.eq(YwWorkorder::getDealType, pageWrap.getModel().getDealType()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -252,7 +555,28 @@ queryWrapper.orderByAsc(sortData.getProperty()); } } - return PageData.from(ywWorkorderMapper.selectPage(page, queryWrapper)); + 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 ); + + 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 @@ -260,4 +584,27 @@ QueryWrapper<YwWorkorder> wrapper = new QueryWrapper<>(ywWorkorder); return ywWorkorderMapper.selectCount(wrapper); } + + + + @Override + public YwWorkorderDataVO getDataVO(YwWorkorderDataDTO dto){ + YwWorkorderDataVO ywWorkorderDataVO = new YwWorkorderDataVO(); + + List<YwWorkorder> list = ywWorkorderMapper.selectList(new QueryWrapper<YwWorkorder>().lambda() + .eq(YwWorkorder::getIsdeleted,Constants.ZERO) + .eq(Constants.equalsInteger(dto.getQueryType(),Constants.ONE),YwWorkorder::getProjectId,dto.getQueryId()) + .eq(Constants.equalsInteger(dto.getQueryType(),Constants.TWO),YwWorkorder::getFloorId,dto.getQueryId()) + .eq(Constants.equalsInteger(dto.getQueryType(),Constants.THREE),YwWorkorder::getRoomId,dto.getQueryId())); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + ywWorkorderDataVO.setAmount(list.size()); + ywWorkorderDataVO.setMonthAmount(list.stream().filter(i-> DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(DateUtil.formatDate(new Date(),"yyyy-MM"))).collect(Collectors.toList()).size()); + ywWorkorderDataVO.setWaitDealAmount(list.stream().filter(i-> Constants.equalsInteger(i.getDealStatus(),Constants.ONE)).collect(Collectors.toList()).size()); + ywWorkorderDataVO.setWaitAssignAmount(list.stream().filter(i-> Constants.equalsInteger(i.getDealStatus(),Constants.ZERO)).collect(Collectors.toList()).size()); + } + return ywWorkorderDataVO; + } + + + } -- Gitblit v1.9.3