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/WorkbenchesServiceImpl.java | 126 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 112 insertions(+), 14 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java index be82191..d30cd58 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java @@ -2,20 +2,28 @@ import com.alibaba.druid.sql.visitor.functions.Concat; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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.LoginUserModel; +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.dao.business.ApproveParamMapper; -import com.doumee.dao.business.PlatformLogMapper; -import com.doumee.dao.business.YwQuickModelMapper; -import com.doumee.dao.business.model.YwQuickModel; +import com.doumee.core.utils.Utils; +import com.doumee.dao.business.*; +import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.MonthDataResponse; +import com.doumee.dao.business.vo.WorkDeskDataResponse; +import com.doumee.dao.system.join.NoticesJoinMapper; +import com.doumee.dao.system.model.Notices; +import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.WorkbenchesService; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; -import io.jsonwebtoken.lang.Objects; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import io.swagger.models.auth.In; import org.apache.tomcat.util.bcel.classfile.Constant; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +32,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -38,21 +47,44 @@ @Autowired private YwQuickModelMapper ywQuickModelMapper; + @Autowired + private YwWorkorderMapper ywWorkorderMapper; + + @Autowired + private NoticesJoinMapper noticesJoinMapper; + + @Autowired + private YwPatrolTaskMapper ywPatrolTaskMapper; + + @Autowired + private YwStocktakingMapper ywStocktakingMapper; + + @Autowired + private SystemDictDataBiz systemDictDataBiz; + @Override public List<YwQuickModel> getYwQuickList(LoginUserInfo loginUserInfo){ List<YwQuickModel> ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda() .eq(YwQuickModel::getIsdeleted, Constants.ZERO) - .eq(YwQuickModel::getUserId,loginUserInfo.getId()) + .isNull(YwQuickModel::getUserId) .orderByAsc(YwQuickModel::getSort) ); - if(CollectionUtils.isEmpty(ywQuickModelList)){ - ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda() + if(Objects.nonNull(loginUserInfo)){ + List<YwQuickModel> userModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda() .eq(YwQuickModel::getIsdeleted, Constants.ZERO) - .isNull(YwQuickModel::getUserId) + .eq(YwQuickModel::getUserId,loginUserInfo.getId()) .orderByAsc(YwQuickModel::getSort) ); + if(CollectionUtils.isNotEmpty(userModelList)){ + ywQuickModelList = userModelList; + } + } + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_QUICK_MODEL).getCode(); + for (YwQuickModel ywQuickModel:ywQuickModelList) { + ywQuickModel.setIcoPath(path + ywQuickModel.getIcoPath()); } return ywQuickModelList; } @@ -65,7 +97,7 @@ .isNull(YwQuickModel::getUserId) .orderByAsc(YwQuickModel::getSort) ); - if(CollectionUtils.isEmpty(ywQuickModelList) || Constants.equalsInteger(idList.size(),ywQuickModelList.size())){ + if(CollectionUtils.isEmpty(ywQuickModelList) ){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"蹇嵎妯″潡閰嶇疆寮傚父,璇疯仈绯荤鐞嗗憳"); } ywQuickModelMapper.delete(new QueryWrapper<YwQuickModel>().lambda().eq(YwQuickModel::getUserId,loginUserInfo.getId())); @@ -92,24 +124,90 @@ public List<MonthDataResponse> getMonthNotices(String yearMonth, LoginUserInfo loginUserInfo){ List<String> dataList = DateUtil.getDayByMonth(yearMonth); List<MonthDataResponse> monthDataResponseList = new ArrayList<>(); + List<Notices> noticesList = noticesJoinMapper.selectList(new QueryWrapper<Notices>().lambda() + .eq(Notices::getUserId,loginUserInfo.getId()) + .eq(Notices::getIsdeleted,Constants.ZERO) + .eq(Notices::getStatus,Constants.ZERO) + .like(Notices::getParam1,yearMonth) + .ne(Notices::getObjType,Constants.TWO) + ); for (String str:dataList) { MonthDataResponse monthDataResponse = new MonthDataResponse(); monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName()); monthDataResponse.setMonthDate(str); - + if(CollectionUtils.isNotEmpty(noticesList)){ + monthDataResponse.setNoticeList(noticesList.stream().filter(i->i.getParam1().equals(str)).collect(Collectors.toList())); + } monthDataResponseList.add(monthDataResponse); } return monthDataResponseList; - } + @Override + public WorkDeskDataResponse workDeskData(LoginUserInfo loginUserInfo){ + WorkDeskDataResponse workDeskDataResponse = new WorkDeskDataResponse(); + workDeskDataResponse.setWaitDealWorkOrderSize(Constants.ZERO); + workDeskDataResponse.setTimeOutSize(Constants.ZERO); + workDeskDataResponse.setStocktakingSize(Constants.ZERO); + workDeskDataResponse.setWaitTaskSize(Constants.ZERO); + + List<YwPatrolTask> ywPatrolTaskList = ywPatrolTaskMapper.selectJoinList(YwPatrolTask.class,new MPJLambdaWrapper<YwPatrolTask>() + .selectAll(YwPatrolTask.class) + .selectAs(YwPatrolScheme::getCode,YwPatrolTask::getPlanCode) + .selectAs(YwPatrolScheme::getTitle,YwPatrolTask::getPlanTitle) + .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId) + .eq(YwPatrolTask::getIsdeleted, Constants.ZERO) + .eq(YwPatrolScheme::getStatus, Constants.ZERO) + .in(YwPatrolTask::getStatus, Constants.ZERO, Constants.ONE) + .le(YwPatrolTask::getEndDate,DateUtil.getCurrDateTime()) + .apply(" find_in_set( "+loginUserInfo.getId()+" , t1.USER_IDS ) ") + ); + Integer waitTaskSize = ywPatrolTaskList.size(); + Integer timeOutSize = Constants.ZERO; + if(CollectionUtils.isNotEmpty(ywPatrolTaskList)){ + timeOutSize = ywPatrolTaskList.stream().filter(i->(Constants.equalsInteger(i.getStatus(),Constants.ZERO) || Constants.equalsInteger(i.getStatus(),Constants.ONE) ) && + i.getEndDate().getTime()<System.currentTimeMillis()).collect(Collectors.toList()).size(); + } + + long waitDealWorkOrderSize = ywWorkorderMapper.selectCount(new QueryWrapper<YwWorkorder>().lambda() + .eq(YwWorkorder::getIsdeleted, Constants.ZERO) + .eq(YwWorkorder::getStatus,Constants.ZERO) + .eq(YwWorkorder::getDealStatus,Constants.ONE) + .eq(YwWorkorder::getDealUserId,loginUserInfo.getId()) + ); + + long stocktakingSize = ywStocktakingMapper.selectCount(new QueryWrapper<YwStocktaking>().lambda() + .eq(YwStocktaking::getIsdeleted,Constants.ZERO) + .eq(YwStocktaking::getUserId,loginUserInfo.getId()) + .in(YwStocktaking::getStatus, Constants.ZERO, Constants.ONE) + ); + workDeskDataResponse.setTimeOutSize(timeOutSize); + workDeskDataResponse.setWaitTaskSize(waitTaskSize); + workDeskDataResponse.setWaitDealWorkOrderSize(waitDealWorkOrderSize); + workDeskDataResponse.setStocktakingSize(stocktakingSize); + return workDeskDataResponse; + } - - + @Override + public PageData<Notices> getMyNotices(PageWrap<Notices> pageWrap,LoginUserInfo loginUserInfo) { + IPage<Notices> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>(); + Notices model = pageWrap.getModel(); + Utils.MP.blankToNull(pageWrap.getModel()); + queryWrapper.selectAll(Notices.class) + .eq(Notices::getUserId,loginUserInfo.getId()) + .eq(Notices::getIsdeleted,Constants.ZERO) + .eq(Objects.nonNull(model)&&Objects.nonNull(model.getStatus()),Notices::getStatus,model.getStatus()) + .apply(" param1 <= CURDATE() ") + .orderByAsc(Notices::getReaded) + .orderByDesc(Notices::getId); + PageData<Notices> pageData = PageData.from(noticesJoinMapper.selectJoinPage(page,Notices.class, queryWrapper)); + return pageData; + } -- Gitblit v1.9.3