From 363208403f2076fef350a7feaf236e6153f982be Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期五, 10 一月 2025 09:19:28 +0800 Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java | 207 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 132 insertions(+), 75 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java index 5ee8050..67906be 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java @@ -1,29 +1,33 @@ package com.doumee.service.business.impl; +import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; +import com.doumee.core.model.LoginUserInfo; 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.YwProblemMapper; -import com.doumee.dao.business.model.YwProblem; +import com.doumee.dao.business.YwRoomMapper; +import com.doumee.dao.business.model.*; import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.model.Multifile; +import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.YwProblemService; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 杩愮淮闂涓婃姤淇℃伅琛⊿ervice瀹炵幇 @@ -37,9 +41,16 @@ private YwProblemMapper ywProblemMapper; @Autowired + private YwRoomMapper ywRoomMapper; + + @Autowired private MultifileMapper multifileMapper; + @Autowired + private SystemDictDataBiz systemDictDataBiz; + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer create(YwProblem ywProblem) { if(Objects.isNull(ywProblem) || Objects.isNull(ywProblem.getSubmitDate()) @@ -116,6 +127,110 @@ return ywProblemMapper.selectById(id); } + + + @Override + public YwProblem getDetail(Integer id) { + 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) + ; + YwProblem ywProblem = ywProblemMapper.selectJoinOne(YwProblem.class,queryWrapper); + if(Objects.isNull(ywProblem)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + 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_PROBLEM).getCode(); + for(Multifile f : multifiles){ + if(StringUtils.isBlank(f.getFileurl())){ + continue; + } + f.setFileurlFull(path+f.getFileurl()); + } + ywProblem.setFileList(multifiles); + } + return ywProblem; + } + + + + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public void editProblem(YwProblem ywProblem,YwWorkorderServiceImpl ywWorkorderService){ + if(Objects.isNull(ywProblem) + || Objects.isNull(ywProblem.getId()) + || Objects.isNull(ywProblem.getDealStatus()) + || !(Constants.equalsInteger(ywProblem.getDealStatus(),Constants.ONE)||Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO)) + || (Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO)&&StringUtils.isBlank(ywProblem.getDealInfo())) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = ywProblem.getLoginUserInfo(); + //鍏抽棴闂 + if(Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO)){ + ywProblemMapper.update(new UpdateWrapper<YwProblem>().lambda() + .set(YwProblem::getDealDate, DateUtil.getCurrDateTime()) + .set(YwProblem::getDealInfo,ywProblem.getDealInfo()) + .set(YwProblem::getDealType,Constants.ONE) + .set(YwProblem::getDealStatus,ywProblem.getDealStatus()) + .set(YwProblem::getDealUserId,loginUserInfo.getId()) + .set(YwProblem::getEditor,loginUserInfo.getId()) + .set(YwProblem::getEditDate, DateUtil.getCurrDateTime()) + .eq(YwProblem::getId,ywProblem.getId()) + ); + }else{ + if(Objects.isNull(ywProblem.getWorkOrderAreaType()) + ||Objects.isNull(ywProblem.getWorkOrderCateId()) + ||StringUtils.isBlank(ywProblem.getWorkOrderContent()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + YwWorkorder ywWorkorder = new YwWorkorder(); + ywWorkorder.setAreaType(ywProblem.getWorkOrderAreaType()); + ywWorkorder.setCateId(ywProblem.getWorkOrderCateId()); + ywWorkorder.setContent(ywProblem.getWorkOrderContent()); + ywWorkorder.setRoomId(ywProblem.getWorkOrderRoomId()); + ywWorkorder.setFloorId(ywProblem.getWorkOrderFloorId()); + ywWorkorder.setGetDate(ywProblem.getWorkOrderGetDate()); + ywWorkorder.setOrigin(Constants.ONE); + ywWorkorder.setLoginUserInfo(loginUserInfo); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywProblem.getWorkOrderFileList())){ + ywWorkorder.setFileList(ywProblem.getWorkOrderFileList()); + } + Integer workOrderId = ywWorkorderService.create(ywWorkorder); + ywProblemMapper.update(new UpdateWrapper<YwProblem>().lambda() + .set(YwProblem::getDealDate, DateUtil.getCurrDateTime()) + .set(YwProblem::getDealInfo,ywProblem.getDealInfo()) + .set(YwProblem::getDealType,Constants.ZERO) + .set(YwProblem::getDealStatus,ywProblem.getDealStatus()) + .set(YwProblem::getDealUserId,loginUserInfo.getId()) + .set(YwProblem::getEditor,loginUserInfo.getId()) + .set(YwProblem::getEditDate, DateUtil.getCurrDateTime()) + .set(YwProblem::getWorkorderId,workOrderId) + .eq(YwProblem::getId,ywProblem.getId()) + ); + + } + + } + + + + + + + + + @Override public YwProblem findOne(YwProblem ywProblem) { QueryWrapper<YwProblem> wrapper = new QueryWrapper<>(ywProblem); @@ -131,77 +246,19 @@ @Override public PageData<YwProblem> findPage(PageWrap<YwProblem> pageWrap) { IPage<YwProblem> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<YwProblem> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<YwProblem> queryWrapper = new MPJLambdaWrapper<YwProblem>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(YwProblem::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(YwProblem::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(YwProblem::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(YwProblem::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(YwProblem::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(YwProblem::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(YwProblem::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(YwProblem::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getPosition() != null) { - queryWrapper.lambda().eq(YwProblem::getPosition, pageWrap.getModel().getPosition()); - } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(YwProblem::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(YwProblem::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.lambda().eq(YwProblem::getContent, pageWrap.getModel().getContent()); - } - if (pageWrap.getModel().getPhone() != null) { - queryWrapper.lambda().eq(YwProblem::getPhone, pageWrap.getModel().getPhone()); - } - if (pageWrap.getModel().getSubmitDate() != null) { - queryWrapper.lambda().ge(YwProblem::getSubmitDate, Utils.Date.getStart(pageWrap.getModel().getSubmitDate())); - queryWrapper.lambda().le(YwProblem::getSubmitDate, Utils.Date.getEnd(pageWrap.getModel().getSubmitDate())); - } - if (pageWrap.getModel().getCode() != null) { - queryWrapper.lambda().eq(YwProblem::getCode, pageWrap.getModel().getCode()); - } - if (pageWrap.getModel().getDealStatus() != null) { - queryWrapper.lambda().eq(YwProblem::getDealStatus, pageWrap.getModel().getDealStatus()); - } - if (pageWrap.getModel().getDealUserId() != null) { - queryWrapper.lambda().eq(YwProblem::getDealUserId, pageWrap.getModel().getDealUserId()); - } - if (pageWrap.getModel().getDealDate() != null) { - queryWrapper.lambda().ge(YwProblem::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate())); - queryWrapper.lambda().le(YwProblem::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate())); - } - if (pageWrap.getModel().getDealInfo() != null) { - queryWrapper.lambda().eq(YwProblem::getDealInfo, pageWrap.getModel().getDealInfo()); - } - if (pageWrap.getModel().getDealType() != null) { - queryWrapper.lambda().eq(YwProblem::getDealType, pageWrap.getModel().getDealType()); - } - if (pageWrap.getModel().getWorkorderId() != null) { - queryWrapper.lambda().eq(YwProblem::getWorkorderId, pageWrap.getModel().getWorkorderId()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } - return PageData.from(ywProblemMapper.selectPage(page, queryWrapper)); + YwProblem model = pageWrap.getModel(); + queryWrapper.selectAll(YwProblem.class) + .selectAs(SystemUser::getRealname,YwProblem::getDealUserName) + .leftJoin(SystemUser.class,SystemUser::getId,YwProblem::getDealUserId) + .like(StringUtils.isNotBlank(model.getContent()),YwProblem::getContent,model.getContent()) + .ge(Objects.nonNull(model.getDealDateStart()),YwProblem::getDealDate, Utils.Date.getStart(model.getDealDateStart())) + .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); + return PageData.from(iPage); } @Override -- Gitblit v1.9.3