From fb4e29329117456a5dab3300376e1192c1ed025d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 18 一月 2024 13:36:32 +0800 Subject: [PATCH] 111 --- server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 415 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 412 insertions(+), 3 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java index 2d26a9c..226e031 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java @@ -1,20 +1,42 @@ package com.doumee.service.business.impl; +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.Utils; import com.doumee.dao.business.DispatchUnitMapper; -import com.doumee.dao.business.model.DispatchUnit; +import com.doumee.dao.business.DuLogMapper; +import com.doumee.dao.business.DuSolutionMapper; +import com.doumee.dao.business.DuWorktypeMapper; +import com.doumee.dao.business.dto.DispatchUnitAuditDTO; +import com.doumee.dao.business.dto.SaveDispatchUnitDTO; +import com.doumee.dao.business.dto.SaveDuSolutionDTO; +import com.doumee.dao.business.dto.SaveDuWorkTypeDTO; +import com.doumee.dao.business.join.DuLogJoinMapper; +import com.doumee.dao.business.join.DuSolutionJoinMapper; +import com.doumee.dao.business.join.DuWorkTypeJoinMapper; +import com.doumee.dao.business.model.*; import com.doumee.service.business.DispatchUnitService; 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.xiaoymin.knife4j.core.util.CollectionUtils; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; +import org.springframework.transaction.annotation.Transactional; +import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.UUID; /** * 娲鹃仯鍗曚綅淇℃伅琛⊿ervice瀹炵幇 @@ -27,11 +49,358 @@ @Autowired private DispatchUnitMapper dispatchUnitMapper; + @Autowired + private DuSolutionMapper duSolutionMapper; + + @Autowired + private DuWorktypeMapper duWorktypeMapper; + + @Autowired + private DuLogMapper duLogMapper; + + @Autowired + private DuLogJoinMapper duLogJoinMapper; + + @Autowired + private DuSolutionJoinMapper duSolutionJoinMapper; + + @Autowired + private DuWorkTypeJoinMapper duWorkTypeJoinMapper; + + @Override - public Integer create(DispatchUnit dispatchUnit) { + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public Integer create(SaveDispatchUnitDTO saveDispatchUnitDTO) { + if(Objects.isNull(saveDispatchUnitDTO) + || StringUtils.isEmpty(saveDispatchUnitDTO.getName()) + || StringUtils.isEmpty(saveDispatchUnitDTO.getCode()) + || StringUtils.isEmpty(saveDispatchUnitDTO.getContent()) + || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() + .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) + .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName()) + .eq(DispatchUnit::getIsdeleted,Constants.ZERO) + )> Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪"); + }; + if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() + .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) + .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) + .eq(DispatchUnit::getIsdeleted,Constants.ZERO) + )> Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪"); + }; + DispatchUnit dispatchUnit = new DispatchUnit(); + dispatchUnit.setCreateDate(new Date()); + dispatchUnit.setCreator(loginUserInfo.getId()); + dispatchUnit.setCompanyId(loginUserInfo.getCompanyId()); + dispatchUnit.setIsdeleted(Constants.ZERO); + dispatchUnit.setName(saveDispatchUnitDTO.getName()); + dispatchUnit.setCode(saveDispatchUnitDTO.getCode()); + dispatchUnit.setContent(saveDispatchUnitDTO.getContent()); + dispatchUnit.setStatus(Constants.ZERO); + dispatchUnit.setVersion(UUID.randomUUID().toString()); + dispatchUnit.setUnitStatus(Constants.ZERO); + dispatchUnit.setWorktypeStatus(Constants.ZERO); + dispatchUnit.setDataType(Constants.ZERO); dispatchUnitMapper.insert(dispatchUnit); + + //瀛樺偍鎿嶄綔鍘嗗彶 + this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.UPLOAD,null); + + List<SaveDuSolutionDTO> saveDuSolutionDTOList = saveDispatchUnitDTO.getSaveDuSolutionDTOList(); + for (int i = 0; i < saveDuSolutionDTOList.size(); i++) { + SaveDuSolutionDTO saveDuSolutionDTO = saveDuSolutionDTOList.get(i); + DuSolution duSolution = new DuSolution(); + duSolution.setCreateDate(new Date()); + duSolution.setCreator(loginUserInfo.getId()); + duSolution.setIsdeleted(Constants.ZERO); + duSolution.setDispatchUnitId(dispatchUnit.getId()); + duSolution.setSortnum(i); + duSolution.setSolutionId(saveDuSolutionDTO.getSolutionId()); + duSolutionMapper.insert(duSolution); + + List<SaveDuWorkTypeDTO> saveDuWorkTypeDTOList = saveDuSolutionDTO.getSaveDuWorkTypeDTOList(); + if(!CollectionUtils.isNotEmpty(saveDuSolutionDTOList)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓嬫湭閫夋嫨宸ョ锛�"); + } + for (int j = 0; j < saveDuWorkTypeDTOList.size(); j++) { + SaveDuWorkTypeDTO saveDuWorkTypeDTO = saveDuWorkTypeDTOList.get(j); + DuWorktype duWorktype = new DuWorktype(); + duWorktype.setCreateDate(new Date()); + duWorktype.setCreator(loginUserInfo.getId()); + duWorktype.setIsdeleted(Constants.ZERO); + duWorktype.setDuSolutionId(duSolution.getId()); + duWorktype.setSortnum(j); + duWorktype.setWorkTypeId(saveDuWorkTypeDTO.getWorkTypeId()); + duWorktype.setVideoUrl(saveDuWorkTypeDTO.getVideoUrl()); + duWorktype.setStatus2(Constants.ZERO); + duWorktypeMapper.insert(duWorktype); + } + } return dispatchUnit.getId(); } + + + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public Integer editDispatchUnit(SaveDispatchUnitDTO saveDispatchUnitDTO) { + if(Objects.isNull(saveDispatchUnitDTO) + ||Objects.isNull(saveDispatchUnitDTO.getId()) + || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + DispatchUnit dispatchUnit = this.dispatchUnitMapper.selectById(saveDispatchUnitDTO.getId()); + if(Objects.isNull(dispatchUnit)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅淇℃伅"); + } + if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() + .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId()) + .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) + .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName()) + .eq(DispatchUnit::getIsdeleted,Constants.ZERO) + )> Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪"); + }; + if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda() + .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId()) + .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId()) + .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode()) + .eq(DispatchUnit::getIsdeleted,Constants.ZERO) + )> Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪"); + } + dispatchUnit.setCode(saveDispatchUnitDTO.getCode()); + dispatchUnit.setContent(saveDispatchUnitDTO.getContent()); + dispatchUnit.setName(saveDispatchUnitDTO.getName()); + dispatchUnit.setUnitStatus(Constants.ZERO); + dispatchUnit.setWorktypeStatus(Constants.ZERO); + dispatchUnit.setEditDate(new Date()); + dispatchUnit.setEditor(loginUserInfo.getId()); + dispatchUnitMapper.updateById(dispatchUnit); + + //瀛樺偍鎿嶄綔璁板綍 + this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null); + + this.dealDuData(saveDispatchUnitDTO,loginUserInfo); + + return dispatchUnit.getId(); + } + + + /** + * 娣诲姞鏂规淇℃伅 + * @param saveDispatchUnitDTO + * @return + */ + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public Integer createSolution(SaveDispatchUnitDTO saveDispatchUnitDTO) { + if(Objects.isNull(saveDispatchUnitDTO) + ||Objects.isNull(saveDispatchUnitDTO.getId()) + || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + DispatchUnit dispatchUnit = this.dispatchUnitMapper.selectById(saveDispatchUnitDTO.getId()); + dispatchUnit.setWorktypeStatus(Constants.ZERO); + dispatchUnit.setEditDate(new Date()); + dispatchUnit.setEditor(loginUserInfo.getId()); + dispatchUnitMapper.updateById(dispatchUnit); + + if(Objects.isNull(dispatchUnit)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅淇℃伅"); + } + //瀛樺偍鎿嶄綔鍘嗗彶 + this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.ADD_WORK_TYPE,null); + this.dealDuData(saveDispatchUnitDTO,loginUserInfo); + return dispatchUnit.getId(); + } + + + public void dealDuData(SaveDispatchUnitDTO saveDispatchUnitDTO,LoginUserInfo loginUserInfo){ + List<SaveDuSolutionDTO> saveDuSolutionDTOList = saveDispatchUnitDTO.getSaveDuSolutionDTOList(); + for (int i = 0; i < saveDuSolutionDTOList.size(); i++) { + SaveDuSolutionDTO saveDuSolutionDTO = saveDuSolutionDTOList.get(i); + DuSolution duSolution = duSolutionMapper.selectOne(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId()) + .eq(DuSolution::getIsdeleted,Constants.ZERO) + .eq(DuSolution::getSolutionId,saveDuSolutionDTO.getSolutionId()).last("limit 1")); + Integer duSolutionNum = duSolutionMapper.selectCount(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId())); + if(Objects.isNull(duSolution)){ + duSolution = new DuSolution(); + duSolution.setCreateDate(new Date()); + duSolution.setCreator(loginUserInfo.getId()); + duSolution.setIsdeleted(Constants.ZERO); + duSolution.setDispatchUnitId(saveDispatchUnitDTO.getId()); + duSolution.setSortnum(duSolutionNum + i); + duSolution.setSolutionId(saveDuSolutionDTO.getSolutionId()); + duSolutionMapper.insert(duSolution); + } + List<SaveDuWorkTypeDTO> saveDuWorkTypeDTOList = saveDuSolutionDTO.getSaveDuWorkTypeDTOList(); + if(!CollectionUtils.isNotEmpty(saveDuSolutionDTOList)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓嬫湭閫夋嫨宸ョ锛�"); + } + for (int j = 0; j < saveDuWorkTypeDTOList.size(); j++) { + SaveDuWorkTypeDTO saveDuWorkTypeDTO = saveDuWorkTypeDTOList.get(j); + if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId()) + .eq(DuWorktype::getIsdeleted,Constants.ZERO) + .eq(DuWorktype::getWorkTypeId,saveDuWorkTypeDTO.getWorkTypeId()))>0){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+saveDuSolutionDTO.getSolutionName()+"銆戣鏂规涓�"+saveDuWorkTypeDTO.getWorkTypeName()+"璇ュ伐绉嶅凡瀛樺湪宸ョ宸插瓨鍦�"); + } + Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId())); + DuWorktype duWorktype = new DuWorktype(); + duWorktype.setCreateDate(new Date()); + duWorktype.setCreator(loginUserInfo.getId()); + duWorktype.setIsdeleted(Constants.ZERO); + duWorktype.setDuSolutionId(duSolution.getId()); + duWorktype.setSortnum(duWorkTypeNum + j); + duWorktype.setWorkTypeId(saveDuWorkTypeDTO.getWorkTypeId()); + duWorktype.setVideoUrl(saveDuWorkTypeDTO.getVideoUrl()); + duWorktype.setStatus2(Constants.ZERO); + duWorktypeMapper.insert(duWorktype); + } + } + } + + + + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public void auditData(DispatchUnitAuditDTO dispatchUnitAuditDTO){ + if(Objects.isNull(dispatchUnitAuditDTO) + || Objects.isNull(dispatchUnitAuditDTO.getId()) + || Objects.isNull(dispatchUnitAuditDTO.getAuditType()) + || Objects.isNull(dispatchUnitAuditDTO.getStatus()) + || !(dispatchUnitAuditDTO.getAuditType().equals(Constants.ZERO) || dispatchUnitAuditDTO.getAuditType().equals(Constants.ONE)) + || !(dispatchUnitAuditDTO.getStatus().equals(Constants.ONE) || dispatchUnitAuditDTO.getAuditType().equals(Constants.TWO)) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo.getType().equals(Constants.ONE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲瀷閿欒锛氫紒涓氱敤鎴锋棤娉曡繘琛岃鎿嶄綔"); + } + DispatchUnit dispatchUnit = this.dispatchUnitMapper.selectById(dispatchUnitAuditDTO.getId()); + if(Objects.isNull(dispatchUnit)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅淇℃伅"); + } + //娲鹃仯鍗曚綅瀹℃壒 + if(dispatchUnitAuditDTO.getAuditType().equals(Constants.ZERO)){ + if(dispatchUnit.getStatus().equals(Constants.ONE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"娲鹃仯鍗曚綅淇℃伅宸插鏍�"); + } + dispatchUnit.setStatus(dispatchUnitAuditDTO.getStatus()); + dispatchUnit.setCheckDate(new Date()); + dispatchUnit.setCheckUserId(loginUserInfo.getId()); + dispatchUnit.setCheckInfo(dispatchUnitAuditDTO.getAuditRemark()); + dispatchUnitMapper.updateById(dispatchUnit); + if(dispatchUnitAuditDTO.getStatus().equals(Constants.ONE)){ + this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,dispatchUnitAuditDTO.getAuditRemark()); + }else{ + this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_UN_PASS,dispatchUnitAuditDTO.getAuditRemark()); + } + + }else if(dispatchUnitAuditDTO.getAuditType().equals(Constants.ONE)){ + if(!dispatchUnit.getStatus().equals(Constants.ONE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"娲鹃仯鍗曚綅淇℃伅鏈鏍�,鏃犳硶杩涜璇ユ搷浣�"); + } + if(dispatchUnitAuditDTO.getStatus().equals(Constants.ONE)){ + this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_PASS,dispatchUnitAuditDTO.getAuditRemark()); + }else{ + this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_UN_PASS,dispatchUnitAuditDTO.getAuditRemark()); + } + }else{ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + //鏇存柊鏂规鏁版嵁 + List<DuSolution> duSolutionList = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda() + .eq(DuSolution::getStatus,Constants.ZERO) + .eq(DuSolution::getIsdeleted,Constants.ZERO) + .eq(DuSolution::getDispatchUnitId,dispatchUnit.getId())); + for (DuSolution duSolution:duSolutionList) { + duSolution.setStatus(dispatchUnitAuditDTO.getStatus()); + duSolution.setCheckDate(new Date()); + duSolution.setCheckUserId(loginUserInfo.getId()); + duSolution.setCheckInfo(dispatchUnitAuditDTO.getAuditRemark()); + dispatchUnitMapper.updateById(dispatchUnit); + //鏌ヨ宸ョ鏁版嵁 + List<DuWorktype> duWorktypeList = duWorktypeMapper.selectList(new QueryWrapper<DuWorktype>().lambda() + .eq(DuWorktype::getStatus,Constants.ZERO) + .eq(DuWorktype::getIsdeleted,Constants.ZERO) + .eq(DuWorktype::getDuSolutionId,duSolution.getId())); + for (DuWorktype duWorktype:duWorktypeList) { + duWorktype.setStatus(dispatchUnitAuditDTO.getStatus()); + duWorktype.setCheckDate(new Date()); + duWorktype.setCheckUserId(loginUserInfo.getId()); + duWorktype.setCheckInfo(dispatchUnitAuditDTO.getAuditRemark()); + dispatchUnitMapper.updateById(dispatchUnit); + } + } + this.saveHistory(dispatchUnit); + } + + + public void saveHistory(DispatchUnit dispatchUnit){ + if(dispatchUnit.getStatus().equals(Constants.ONE)){ + DispatchUnit his = new DispatchUnit(); + BeanUtils.copyProperties(dispatchUnit,his); + his.setBaseId(dispatchUnit.getId()); + his.setId(null); + his.setDataType(Constants.TWO); + dispatchUnitMapper.insert(his); + //淇敼鍏朵粬鍘嗗彶鐗堟湰鏁版嵁涓� 鍘嗗彶鐗堟湰 + dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda().set(DispatchUnit::getDataType,Constants.ONE).eq(DispatchUnit::getBaseId,dispatchUnit.getId()) + .eq(DispatchUnit::getDataType,Constants.TWO).ne(DispatchUnit::getId,his.getId()) + ); + //瀛樺偍鏂规鏁版嵁 + List<DuSolution> duSolutionList = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda() + .eq(DuSolution::getStatus,Constants.ONE) + .eq(DuSolution::getDispatchUnitId,dispatchUnit.getId())); + for (DuSolution duSolution:duSolutionList) { + DuSolution hisDuSolution = new DuSolution(); + BeanUtils.copyProperties(duSolution,hisDuSolution); + hisDuSolution.setId(null); + hisDuSolution.setDispatchUnitId(his.getId()); + duSolutionMapper.insert(hisDuSolution); + //鏌ヨ宸ョ鏁版嵁 + List<DuWorktype> duWorktypeList = duWorktypeMapper.selectList(new QueryWrapper<DuWorktype>().lambda() + .eq(DuWorktype::getStatus,Constants.ONE) + .eq(DuWorktype::getDuSolutionId,duSolution.getId())); + for (DuWorktype duWorktype:duWorktypeList) { + DuWorktype hisDuWorktype = new DuWorktype(); + BeanUtils.copyProperties(duWorktype,hisDuWorktype); + hisDuWorktype.setId(null); + hisDuWorktype.setDuSolutionId(hisDuSolution.getId()); + duWorktypeMapper.insert(hisDuWorktype); + } + } + } + } + + + + public void saveDuLog(DispatchUnit dispatchUnit,Constants.DispatchUnitLogType dispatchUnitLogType,String content){ + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + DuLog duLog = new DuLog(); + duLog.setCreateDate(new Date()); + duLog.setCreator(loginUserInfo.getId()); + duLog.setIsdeleted(Constants.ZERO); + duLog.setDuId(dispatchUnit.getId()); + duLog.setTitle(dispatchUnitLogType.getName()); + duLog.setContent(content); + duLog.setObjType(dispatchUnitLogType.getKey()); + duLog.setObjId(Integer.toString(dispatchUnit.getId())); + duLog.setStatus(Constants.ZERO); + duLogMapper.insert(duLog); + } + @Override public void deleteById(Integer id) { @@ -170,4 +539,44 @@ QueryWrapper<DispatchUnit> wrapper = new QueryWrapper<>(dispatchUnit); return dispatchUnitMapper.selectCount(wrapper); } + + + @Override + public DispatchUnit detailById(Integer id) { + DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id); + //鏂规閰嶇疆琛� + List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class, + new MPJLambdaWrapper<DuSolution>() + .selectAll(DuSolution.class) + .selectAs(Solutions::getName,DuSolution::getSolutionName) + .leftJoin(Solutions.class,Solutions::getId,DuSolution::getSolutionId) + .eq(DuSolution::getSolutionId,dispatchUnit.getId()) + .orderByAsc(DuSolution::getSortnum) + ); + if(CollectionUtils.isNotEmpty(duSolutionList)){ + for (DuSolution duSolution:duSolutionList) { + //鏌ヨ鏂规涓嬬殑宸ョ淇℃伅 + List<DuWorktype> duWorkTypeList = duWorkTypeJoinMapper.selectJoinList(DuWorktype.class, + new MPJLambdaWrapper<DuWorktype>() + .selectAll(DuWorktype.class) + .selectAs(Worktype::getName,DuWorktype::getWorkTypeName) + .leftJoin(Worktype.class,Worktype::getId,DuWorktype::getWorkTypeId) + .eq(DuWorktype::getDuSolutionId,duSolution.getId()) + ); + duSolution.setDuWorktypeList(duWorkTypeList); + } + dispatchUnit.setDuSolutionList(duSolutionList); + } + //鏌ヨ鎿嶄綔璁板綍 + List<DuLog> duLogList = duLogJoinMapper.selectJoinList(DuLog.class, + new MPJLambdaWrapper<DuLog>() + .eq(DuLog::getDuId,dispatchUnit.getId()) + .orderByAsc(DuLog::getCreateDate) + ); + dispatchUnit.setDuLogList(duLogList); + return dispatchUnit; + } + + + } -- Gitblit v1.9.3