From 42e68faca0756d44b7c880c9876810ee47d6e92b Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 17 二月 2025 17:57:25 +0800 Subject: [PATCH] 1.DNC模块,设备结构树权限分配优化与修改bug 2.MDC模块,设备编辑车间同步平移设备send目录 3.优化原有指派设备代码 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 6 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java index 5ba9d64..66a807d 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; @@ -24,6 +25,7 @@ import org.jeecg.modules.mdc.model.MdcEquipmentTree; import org.jeecg.modules.mdc.service.*; import org.jeecg.modules.mdc.util.DateUtils; +import org.jeecg.modules.mdc.util.DncCopyEquipment; import org.jeecg.modules.mdc.util.FindsEquipmentDepartUtil; import org.jeecg.modules.mdc.util.FindsEquipmentProductionUtil; import org.jeecg.modules.mdc.vo.*; @@ -33,14 +35,19 @@ import org.jeecg.modules.system.mapper.MdcProductionEquipmentMapper; import org.jeecg.modules.system.service.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -98,6 +105,9 @@ @Resource private DncDevicePermissionMapper dncDevicePermissionMapper; + + @Value("${fileNCPath}") + private String fileNCPath; @Override @@ -169,6 +179,8 @@ mdcProductionEquipmentMapper.insert(mdcProductionEquipment); } } + //step.3 淇濆瓨璁惧瀵瑰簲鐨勪骇绾挎潈闄� + addDevicePermission(mdcEquipment); } @Override @@ -191,6 +203,14 @@ break; } } + //骞崇Щ璁惧鐩綍涓嬬幇鏈夌粨鏋勪笌鏂囦欢 + //鑾峰彇鍘熸湁缁撴瀯 + String OldPath=""; + String NewPath=""; + List<String> OldStrings=mdcProductionService.findListParentTreeAll(mdcEquipment.getId()); + if (OldStrings != null && !OldStrings.isEmpty()) { + OldPath = fileNCPath+"/"+StringUtils.join(OldStrings.toArray(), "/")+"/"+mdcEquipment.getEquipmentId(); + } //step.1 淇敼璁惧鍩虹淇℃伅 this.updateById(mdcEquipment); //step.2 淇敼閮ㄩ棬 @@ -207,6 +227,8 @@ mdcEquipmentDepartMapper.insert(equipmentDepart); } } + //鍒犻櫎鎵�鏈夎澶囨潈闄� + dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getDeviceId, mdcEquipment.getId())); //step.3 淇敼浜х嚎 String productions = mdcEquipment.getSelectedProduction(); String[] array = {}; @@ -221,15 +243,38 @@ mdcProductionEquipmentMapper.insert(productionEquipment); } } + List<String> NewStrings = mdcProductionService.findListParentTreeAll(mdcEquipment.getId()); + if (NewStrings != null && !NewStrings.isEmpty()) { + NewPath = fileNCPath+"/"+StringUtils.join(NewStrings.toArray(), "/")+"/"+mdcEquipment.getEquipmentId(); + } + // 骞崇ЩOldPath涓嬬殑鏂囦欢鍒癗ewPath涓� + DncCopyEquipment.CopyEquipmentPath(OldPath,NewPath); + //淇濆瓨璁惧瀵瑰簲鐨勪骇绾挎潈闄� + addDevicePermission(mdcEquipment); //step.4 淇敼璁惧鏉冮檺 - //鍏堝垹鍚庡姞 - dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getDeviceId, mdcEquipment.getId())); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = user.getId(); - DncDevicePermission dncDevicePermission=new DncDevicePermission(); - dncDevicePermission.setDeviceId(mdcEquipment.getId()); - dncDevicePermission.setUserId(userId); - dncDevicePermissionMapper.insert(dncDevicePermission); + List<DncDevicePermission> dncDevicePermissions=dncDevicePermissionMapper.selectList(new LambdaQueryWrapper<DncDevicePermission>() + .eq(DncDevicePermission::getDeviceId, mdcEquipment.getId()).eq(DncDevicePermission ::getUserId, userId)); + if (CollectionUtils.isEmpty(dncDevicePermissions)){ + DncDevicePermission dncDevicePermission=new DncDevicePermission(); + dncDevicePermission.setDeviceId(mdcEquipment.getId()); + dncDevicePermission.setUserId(userId); + dncDevicePermissionMapper.insert(dncDevicePermission); + } + } + + private void addDevicePermission(MdcEquipment mdcEquipment) { + List<String> productionIds=mdcProductionEquipmentMapper + .selectList(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getEquipmentId, mdcEquipment.getId())) + .stream().map(MdcProductionEquipment::getProductionId).collect(Collectors.toList()); + List<MdcUserProduction> mdcUserProductionList=mdcUserProductionService.queryByProductionIds(productionIds); + mdcUserProductionList.forEach(item->{ + DncDevicePermission devicePermission=new DncDevicePermission(); + devicePermission.setDeviceId(mdcEquipment.getId()); + devicePermission.setUserId(item.getUserId()); + dncDevicePermissionMapper.insert(devicePermission); + }); } @Override -- Gitblit v1.9.3