From f2f8241dd52ef12ec109f6f4f0f13042055338ac Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 14 二月 2025 14:55:56 +0800 Subject: [PATCH] 修改指派设备 修改设备结构树权限 优化查询 优化排序 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java | 127 ++++++++++++++++++++++++++++++------------ 1 files changed, 91 insertions(+), 36 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java index 75f17d0..d80aefb 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java @@ -11,10 +11,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.FileUploadResult; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.dnc.exception.ExceptionCast; import org.jeecg.modules.dnc.mapper.DocInfoMapper; import org.jeecg.modules.dnc.service.*; +import org.jeecg.modules.dnc.utils.CamelToSnakeRegex; import org.jeecg.modules.dnc.utils.ValidateUtil; @@ -24,6 +26,8 @@ import org.jeecg.modules.dnc.entity.*; import org.jeecg.modules.dnc.response.*; +import org.jeecg.modules.mdc.entity.MdcEquipment; +import org.jeecg.modules.system.service.ISysDictService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; @@ -35,7 +39,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; @Service public class DocInfoServiceImpl extends ServiceImpl<DocInfoMapper, DocInfo> implements IDocInfoService { @@ -349,16 +355,15 @@ if(file == null || file.isEmpty() || !ValidateUtil.validateString(id)) ExceptionCast.cast(CommonCode.INVALID_PARAM); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = user.getId(); - if(!ValidateUtil.validateString(userId)) + if(!ValidateUtil.validateString(user.getUsername())) ExceptionCast.cast(UcenterCode.UCENTER_ACCOUNT_NOT_EXIST); FileOperate operate = fileOperateService.getByDocId(id); - if(operate == null || !userId.equals(operate.getCreateUser())) + if(operate == null || !user.getUsername().equals(operate.getCreateBy())) ExceptionCast.cast(DocumentCode.DOC_OPERATE_PUSH_FAIL); DocInfo en = super.getById(id); if(en == null) ExceptionCast.cast(DocumentCode.DOC_NOT_EXIST); - List<DeviceInfo> deviceList = docRelativeService.findDeviceByDocId(en.getDocId()); + List<MdcEquipment> deviceList = docRelativeService.findDeviceByDocId(en.getDocId()); if(deviceList != null && !deviceList.isEmpty()) ExceptionCast.cast(DocumentCode.DOC_DEVICE_EXIST); String suffix = FileUtilS.getFileSuffix(file.getOriginalFilename()); @@ -525,11 +530,10 @@ if(!ValidateUtil.validateString(id)) ExceptionCast.cast(CommonCode.INVALID_PARAM); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = user.getId(); - if(!ValidateUtil.validateString(userId)) + if(!ValidateUtil.validateString(user.getUsername())) ExceptionCast.cast(UcenterCode.UCENTER_ACCOUNT_NOT_EXIST); FileOperate operate = fileOperateService.getByDocId(id); - if(operate == null || !userId.equals(operate.getCreateUser())) + if(operate == null || !user.getUsername().equals(operate.getCreateBy())) ExceptionCast.cast(DocumentCode.DOC_CANCEL_PULL_ERROR); DocInfo en = super.getById(id); if(en == null) @@ -547,7 +551,7 @@ } @Override - public QueryPageResponseResult<DocInfo> findPageList(int page, int size, DocInfoQueryRequest docQuery) { + public Result<?> findPageList(int page, int size, DocInfoQueryRequest docQuery) { if(page < 1 || size < 1) { ExceptionCast.cast(CommonCode.INVALID_PAGE); } @@ -578,18 +582,33 @@ queryWrapper.eq(StrUtil.isNotEmpty(docNameArr[1]), "u.doc_suffix", docNameArr[1]); } } - queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getStartTime()); - queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getEndTime()); - if(ValidateUtil.validateString(docQuery.getAscStr())) { - String[] ascArr = docQuery.getAscStr().split(","); -// ((Page<DocInfo>) pageData).setAsc(ascArr); - } - if(ValidateUtil.validateString(docQuery.getDescStr())) { - String[] descStr = docQuery.getDescStr().split(","); -// ((Page<DocInfo>) pageData).setDesc(descStr); - } + getDocQuery(docQuery, queryWrapper); IPage<DocInfo> docInfoIPage = super.getBaseMapper().findDocExtList(pageData, queryWrapper); - return new QueryPageResponseResult<>(CommonCode.SUCCESS, docInfoIPage); + return Result.ok(docInfoIPage); + } + + private void getDocQuery(DocInfoQueryRequest docQuery, QueryWrapper<DocInfo> queryWrapper) { + if (docQuery.getDocStatus() != null && docQuery.getDocStatus().contains(",")) { + String[] docStatusArray = docQuery.getDocStatus().split(","); + List<Integer> docStatusList = Arrays.stream(docStatusArray).map(Integer::parseInt).collect(Collectors.toList()); + queryWrapper.in("u.doc_status",docStatusList); + }else { + queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocStatus()),"u.doc_status",docQuery.getDocStatus()); + } + if (StrUtil.isNotEmpty(docQuery.getPullStatus())){ + if (("1").equals(docQuery.getPullStatus())){ + queryWrapper.isNull("o.doc_id"); + }else if (("2").equals(docQuery.getPullStatus())){ + queryWrapper.isNotNull("o.doc_id"); + } + } + queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"u.create_time",docQuery.getStartTime()+" 00:00:00"); + queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"u.create_time",docQuery.getEndTime()+" 23:59:59"); + if (("desc").equals(docQuery.getOrder())){ + queryWrapper.orderByDesc("u."+ CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); + }else { + queryWrapper.orderByAsc("u."+CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); + } } @Override @@ -680,7 +699,7 @@ public boolean deleteByProcessId(String processId) { if(!ValidateUtil.validateString(processId)) ExceptionCast.cast(CommonCode.INVALID_PARAM); - Integer attrType = 4; + Integer attrType = 5; boolean b = docFileService.deleteByDocAttr(attrType, processId); if(!b) ExceptionCast.cast(CommonCode.FAIL); @@ -689,6 +708,27 @@ ExceptionCast.cast(CommonCode.FAIL); } return docRelativeService.deleteByDocAttr(attrType, processId); + } + + /** + * 鍒犻櫎宸ユ涓嬬殑鎵�鏈夋枃妗� + * @param stepId + * @return + */ + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean deleteByStepId(String stepId){ + if(!ValidateUtil.validateString(stepId)) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + Integer attrType = 6; + boolean b = docFileService.deleteByDocAttr(attrType, stepId); + if(!b) + ExceptionCast.cast(CommonCode.FAIL); + b = deleteByDocAttr(attrType, stepId); + if(!b) { + ExceptionCast.cast(CommonCode.FAIL); + } + return docRelativeService.deleteByDocAttr(attrType, stepId); } @Override @@ -756,7 +796,7 @@ } @Override - public QueryPageResponseResult<DocInfo> findPageListByDevice(int page, int size, DocInfoQueryRequest docQuery) { + public IPage<DocInfo> findPageListByDevice(int page, int size, DocInfoQueryRequest docQuery) { if(page < 1 || size < 1) { ExceptionCast.cast(CommonCode.INVALID_PAGE); } @@ -784,16 +824,33 @@ queryWrapper.eq(StrUtil.isNotEmpty(docNameArr[1]), "u.doc_suffix", docNameArr[1]); } } - queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getStartTime()); - queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getEndTime()); - - if(ValidateUtil.validateString(docQuery.getAscStr())) { - String[] ascArr = docQuery.getAscStr().split(","); -// ((Page<DocInfo>) pageData).setAsc(ascArr); + if (docQuery.getDocStatus() != null && docQuery.getDocStatus().contains(",")) { + String[] docStatusArray = docQuery.getDocStatus().split(","); + List<Integer> docStatusList = Arrays.stream(docStatusArray).map(Integer::parseInt).collect(Collectors.toList()); + queryWrapper.in("u.doc_status",docStatusList); + }else { + queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocStatus()),"u.doc_status",docQuery.getDocStatus()); } - if(ValidateUtil.validateString(docQuery.getDescStr())) { - String[] descStr = docQuery.getDescStr().split(","); -// ((Page<DocInfo>) pageData).setDesc(descStr); + if (StrUtil.isNotEmpty(docQuery.getPullStatus())){ + if (("1").equals(docQuery.getPullStatus())){ + queryWrapper.isNull("o.doc_id"); + }else if (("2").equals(docQuery.getPullStatus())){ + queryWrapper.isNotNull("o.doc_id"); + } + } + if (docQuery.getSyncStatus()!=null){ + if (docQuery.getSyncStatus()==1){ + queryWrapper.isNotNull("t.sync_flag"); + }else if (docQuery.getSyncStatus()==2){ + queryWrapper.isNull("t.sync_flag"); + } + } + queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"u.create_time",docQuery.getStartTime()+" 00:00:00"); + queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"u.create_time",docQuery.getEndTime()+" 23:59:59"); + if (("desc").equals(docQuery.getOrder())){ + queryWrapper.orderByDesc("u."+ CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); + }else { + queryWrapper.orderByAsc("u."+CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); } IPage<DocInfo> docInfoIPage = super.getBaseMapper().findDeviceDocExtList(pageData, queryWrapper); if (docInfoIPage != null && docInfoIPage.getRecords() != null && !docInfoIPage.getRecords().isEmpty()) { @@ -801,11 +858,11 @@ d.setSyncStatus(2); } } - return new QueryPageResponseResult<>(CommonCode.SUCCESS, docInfoIPage); + return docInfoIPage; } @Override - public QueryListResponseResult<DocInfo> findList(DocInfoQueryRequest docQuery) { + public List<DocInfo> findList(DocInfoQueryRequest docQuery) { if(docQuery == null || !ValidateUtil.validateString(docQuery.getAttributionId()) || !ValidateUtil.validateInteger(docQuery.getAttributionType()) || !ValidateUtil.validateString(docQuery.getDocClassCode())) { @@ -829,10 +886,8 @@ queryWrapper.eq(StrUtil.isNotEmpty(docNameArr[1]), "u.doc_suffix", docNameArr[1]); } } - queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getStartTime()); - queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getEndTime()); - List<DocInfo> docInfoIPage = super.getBaseMapper().findDocExtList(queryWrapper); - return new QueryListResponseResult<>(CommonCode.SUCCESS, docInfoIPage); + getDocQuery(docQuery, queryWrapper); + return super.getBaseMapper().findDocExtList(queryWrapper); } @Override -- Gitblit v1.9.3