From 1ad2f74f3c8c6872d57c285809d2384bd3946aa3 Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 13 一月 2025 09:16:35 +0800 Subject: [PATCH] 客户资料 巡检任务业务 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 105 insertions(+), 14 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 f4c95e9..4346ef6 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 @@ -8,9 +8,12 @@ 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.*; +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.model.Multifile; @@ -29,6 +32,7 @@ import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.stream.Collectors; /** * 杩愮淮宸ュ崟淇℃伅琛⊿ervice瀹炵幇 @@ -79,11 +83,12 @@ if(StringUtils.isBlank(multifile.getFileurl())){ continue; } - multifile.setCreateDate(new Date()); + multifile.setCreateDate(model.getCreateDate()); + multifile.setEditDate(model.getCreateDate()); multifile.setCreator(model.getEditor()); multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(model.getId()); - multifile.setCreator(model.getCreator()); + multifile.setEditor(model.getCreator()); multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey()); multifile.setSortnum(i+1); fileList.add(multifile); @@ -169,7 +174,9 @@ 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)){ + if(!Constants.equalsInteger(model.getDealStatus(),Constants.ZERO) +// && !Constants.equalsInteger(model.getDealStatus(),Constants.ONE) + ){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝宸ュ崟鐘舵�佸凡娴佽浆锛屼笉鏀寔褰撳墠鎿嶄綔锛�"); } @@ -200,10 +207,10 @@ 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(),"瀵逛笉璧凤紝鍛樺伐淇℃伅涓嶅瓨鍦紒"); - } +// 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()); @@ -211,8 +218,30 @@ update.setDealStatus(Constants.TWO); update.setDealUserId(update.getEditor()); update.setDealDate(update.getEditDate()); - update.setDealInfo(ywWorkorder.getDispatchInfo()); + update.setDealInfo(ywWorkorder.getDealInfo()); ywWorkorderMapper.updateById(update); + + 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 @@ -298,18 +327,25 @@ 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("t9.name",YwWorkorder::getCreatorCompany) .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) .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 t9 on t9.id = t1.company_id ") .eq(YwWorkorder::getId,id); YwWorkorder model = ywWorkorderMapper.selectJoinOne(YwWorkorder.class,queryWrapper); initFiles(model);//璇诲彇闄勪欢淇℃伅 @@ -350,19 +386,35 @@ .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(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.eq(YwWorkorder::getId, pageWrap.getModel().getId()); } + if (pageWrap.getModel().getDispatchUserId() != null) { + 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())); @@ -385,7 +437,8 @@ queryWrapper.eq(YwWorkorder::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getStatus() != null) { - queryWrapper.eq(YwWorkorder::getStatus, pageWrap.getModel().getStatus()); + 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()); @@ -428,9 +481,6 @@ if (pageWrap.getModel().getDealStatus() != null) { queryWrapper.eq(YwWorkorder::getDealStatus, pageWrap.getModel().getDealStatus()); } - if (pageWrap.getModel().getDispatchUserId() != null) { - queryWrapper.eq(YwWorkorder::getDispatchUserId, pageWrap.getModel().getDispatchUserId()); - } if (pageWrap.getModel().getDispatchDate() != null) { queryWrapper.ge(YwWorkorder::getDispatchDate, Utils.Date.getStart(pageWrap.getModel().getDispatchDate())); queryWrapper.le(YwWorkorder::getDispatchDate, Utils.Date.getEnd(pageWrap.getModel().getDispatchDate())); @@ -458,10 +508,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 @@ -469,4 +537,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.getSubmitDate(),"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