From 64efb660b2c119c00432434c0f651f8996483f18 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 21 二月 2025 15:51:13 +0800 Subject: [PATCH] OSD大华数据格式+数据中心重点标签统计数 --- ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java | 123 ++++++++++++++++++++++++++++++++-------- 1 files changed, 97 insertions(+), 26 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java index 35e1fab..56546b7 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java @@ -1,39 +1,39 @@ package com.ycl.platform.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import java.util.Collections; -import java.util.HashMap; -import java.util.List; - import com.ycl.platform.base.BaseSelect; import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.domain.form.YwUnitForm; +import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.YwUnitQuery; import com.ycl.platform.domain.vo.YwUnitVO; -import com.ycl.system.Result; import com.ycl.platform.mapper.YwUnitMapper; +import com.ycl.platform.service.YwUnitService; +import com.ycl.system.Result; import com.ycl.system.domain.SysUserRole; import com.ycl.system.entity.SysRole; import com.ycl.system.entity.SysUser; import com.ycl.system.mapper.SysRoleMapper; import com.ycl.system.mapper.SysUserMapper; import com.ycl.system.mapper.SysUserRoleMapper; +import com.ycl.system.model.LoginUser; import com.ycl.system.page.PageUtil; -import com.ycl.platform.service.YwUnitService; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.utils.DateUtils; import com.ycl.utils.SecurityUtils; -import org.springframework.stereotype.Service; -import org.springframework.beans.BeanUtils; -import org.springframework.util.Assert; - -import java.util.Objects; -import java.util.stream.Collectors; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import enumeration.ErrorType; import lombok.RequiredArgsConstructor; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; import org.springframework.util.StringUtils; + +import java.util.*; +import java.util.stream.Collectors; /** * 杩愮淮鍗曚綅 鏈嶅姟瀹炵幇绫� @@ -56,20 +56,26 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result add(YwUnitForm form) { YwUnit entity = YwUnitForm.getEntityByForm(form, null); + Date now = new Date(); + entity.setCreateTime(now); + entity.setUpdateTime(now); if(baseMapper.insert(entity) > 0) { // 鏂板杩愮淮浜哄憳璐﹀彿 SysUser sysUser = new SysUser(); sysUser.setDeptId(null); + sysUser.setUnitId(entity.getId()); sysUser.setUserName(entity.getUnitAdminAccount()); sysUser.setNickName(entity.getUnitContact()); sysUser.setPhonenumber(entity.getUnitContactPhone()); - sysUser.setPassword(SecurityUtils.encryptPassword("123456")); + sysUser.setPassword(SecurityUtils.encryptPassword(form.getPassword())); + sysUser.setDelFlag(0); sysUserMapper.insertUser(sysUser); // 鑾峰彇杩愮淮浜哄憳瑙掕壊 SysRole sysRole = sysRoleMapper.selectRoleByKey("yw_user"); - if (Objects.isNull(sysRole)) { return Result.error("杩愮淮瑙掕壊涓嶅瓨鍦�"); } + if (Objects.isNull(sysRole)) { throw new RuntimeException("杩愮淮瑙掕壊涓嶅瓨鍦�"); } // 缁戝畾璐﹀彿瑙掕壊鍏崇郴 SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setRoleId(sysRole.getRoleId()); @@ -86,12 +92,14 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result update(YwUnitForm form) { YwUnit entity = baseMapper.selectById(form.getId()); - // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); BeanUtils.copyProperties(form, entity); + Date now = new Date(); + entity.setUpdateTime(now); if (baseMapper.updateById(entity) > 0) { // 淇敼杩愮淮鍗曚綅璐﹀彿淇℃伅 SysUser sysUser = sysUserMapper.selectUserByUserName(entity.getUnitAdminAccount()); @@ -111,15 +119,16 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public Result remove(List<String> ids) { - ids.forEach(id -> { - // 鍒犻櫎杩愮淮浜哄憳璐﹀彿 - SysUser sysUser = sysUserMapper.selectUserByUserName(baseMapper.selectById(id).getUnitAdminAccount()); - if (Objects.nonNull(sysUser)) { - sysUserRoleMapper.deleteUserRoleByUserId(sysUser.getUserId()); - sysUserMapper.deleteUserById(sysUser.getUserId()); - } - }); + List<Long> userIds = sysUserMapper.selectUserIdByNames( + baseMapper.selectList( + new LambdaQueryWrapper<YwUnit>().in(YwUnit::getId, ids)) + .stream().map(YwUnit::getUnitAdminAccount).toList()); + if (!userIds.isEmpty()) { + sysUserMapper.deleteUserByIds(userIds.toArray(new Long[0])); + sysUserRoleMapper.deleteUserRoleByUserIds(userIds); + } if(baseMapper.deleteBatchIds(ids) > 0) { return Result.ok("鍒犻櫎鎴愬姛"); } @@ -207,6 +216,63 @@ } @Override + public Result workList(DistributeWorkOrderQuery query) { + if(query.getStart()!=null) { + query.setStart(DateUtils.getDayStart(query.getStart())); + } + if(query.getEnd()!=null) { + query.setEnd(DateUtils.getDayEnd(query.getEnd())); + } + if (query.getErrorType() != null) { + List<String> errorTypeList = new ArrayList<>(); + errorTypeList.add(query.getErrorType()); + if (ErrorType.ABNORMAL_PIC.getValue().equals(query.getErrorType())) { + //List娣诲姞涔嬪墠鍑犵宸ュ崟绫诲瀷 + errorTypeList.add(ErrorType.SIGNAL_LOSS.getValue()); + errorTypeList.add(ErrorType.SCREEN_COLOR_DEVIATION.getValue()); + errorTypeList.add(ErrorType.SNOW_STORM.getValue()); + errorTypeList.add(ErrorType.STRIPE_INTERFERENCE.getValue()); + errorTypeList.add(ErrorType.SCREEN_OCCLUSION.getValue()); + errorTypeList.add(ErrorType.ABNORMAL_CLARITY.getValue()); + } + query.setErrorTypeList(errorTypeList); + } + List<YwUnit> ywUnits = baseMapper.selectList(null); + List<YwUnitVO> lists = ywUnits.stream().map(item -> { + YwUnitVO vo = new YwUnitVO(); + BeanUtils.copyProperties(item, vo); + return vo; + }).collect(Collectors.toList()); + for (YwUnitVO ywUnit : lists) { + query.setUnitId(ywUnit.getId()); + Integer workOrderNum = baseMapper.workList(query); + ywUnit.setWorkOrderCount(workOrderNum); + } + return Result.ok().data(lists); + } + + @Override + public void setUnitInfo(LoginUser loginUser) { + // 鍗曚綅绠$悊鍛樻煡璇� + YwUnit unit = new LambdaQueryChainWrapper<>(baseMapper) + .eq(YwUnit::getUnitAdminAccount, loginUser.getUsername()) + .one(); + if (Objects.nonNull(unit)) { + loginUser.setUnitAdmin(Boolean.TRUE); + loginUser.setUnitId(unit.getId()); + } else { + unit = baseMapper.getByUserId(loginUser.getUserId()); + if (Objects.nonNull(unit)) { + loginUser.setUnitAdmin(Boolean.FALSE); + loginUser.setUnitId(unit.getId()); + } + else { + loginUser.setUnitAdmin(Boolean.FALSE); + } + } + } + + @Override public List<YwUnitVO> export(YwUnitQuery query) { // 鍒嗛〉鏉′欢鏌ヨ浣� IPage<YwUnit> page = new LambdaQueryChainWrapper<>(baseMapper) @@ -226,4 +292,9 @@ .collect(Collectors.toList()); return vos; } + + @Override + public List<Map<String, Object>> ywUnitCount() { + return baseMapper.ywUnitCount(); + } } -- Gitblit v1.8.0