From 103f52ade0f77e420dec306ea3b51d0a3c0ac3ee Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 19 三月 2025 13:23:12 +0800 Subject: [PATCH] art: 设备管理-系统业务编码生成,工艺参数维护功能修改 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java | 205 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 164 insertions(+), 41 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java index e058330..4415e17 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java @@ -1,7 +1,5 @@ package org.jeecg.modules.dnc.service.impl; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -11,19 +9,15 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.dnc.entity.*; import org.jeecg.modules.dnc.exception.ExceptionCast; -import org.jeecg.modules.dnc.mapper.PartsInfoMapper; import org.jeecg.modules.dnc.mapper.WorkStepMapper; import org.jeecg.modules.dnc.response.CommonCode; import org.jeecg.modules.dnc.response.ProcessInfoCode; import org.jeecg.modules.dnc.response.ProductInfoCode; import org.jeecg.modules.dnc.response.UcenterCode; -import org.jeecg.modules.dnc.service.IPartsInfoService; -import org.jeecg.modules.dnc.service.IPermissionStreamService; -import org.jeecg.modules.dnc.service.IWorkStepDepartmentService; -import org.jeecg.modules.dnc.service.IWorkStepService; -import org.jeecg.modules.dnc.ucenter.Department; +import org.jeecg.modules.dnc.service.*; import org.jeecg.modules.dnc.utils.ValidateUtil; import org.jeecg.modules.system.entity.MdcProduction; +import org.jeecg.modules.system.entity.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -42,12 +36,23 @@ */ @Service public class WorkStepServiceImpl extends ServiceImpl<WorkStepMapper, WorkStep> implements IWorkStepService { - @Autowired - private IPermissionStreamService permissionStreamService; + private IPermissionStreamNewService permissionStreamNewService; @Autowired private IWorkStepDepartmentService workStepDepartmentService; + + @Autowired + private IWorkStepPermissionService workStepPermissionService; + + @Autowired + private IDocRelativeService iDocRelativeService; + + @Autowired + private IProductPermissionService productPermissionService; + + @Autowired + private IProductMixService productMixService; @Override public List<WorkStep> getByUserPerms(String userId) { @@ -106,17 +111,47 @@ boolean b =super.save(workStep); if(!b) ExceptionCast.cast(CommonCode.FAIL); - //娣诲姞鏉冮檺楠岃瘉 - PermissionStream permissionStream = new PermissionStream(); - permissionStream.setUserId(userId); - permissionStream.setProductId(workStep.getProductId()); - permissionStream.setComponentId(workStep.getComponentId()); - if (StrUtil.isNotEmpty(workStep.getPartsId())){ - permissionStream.setPartsId(workStep.getPartsId()); + //娣诲姞閮ㄩ棬鏉冮檺 + List<PermissionStreamNew> oldDepartPermList = permissionStreamNewService.loadPermissionStreamNewByBusinessId(workStep.getProcessId(),"5","1"); + if(oldDepartPermList != null && !oldDepartPermList.isEmpty()) { + List<WorkStepDepartment> workStepDepartmentList = new ArrayList<>(); + List<PermissionStreamNew> permissionStreamList = new ArrayList<>(); + oldDepartPermList.forEach(item -> { + WorkStepDepartment pd = new WorkStepDepartment(); + pd.setDepartId(item.getDepartId()); + pd.setStepId(workStep.getId()); + workStepDepartmentList.add(pd); + PermissionStreamNew perm = new PermissionStreamNew(); + perm.setBusinessId(workStep.getId()); + perm.setBusinessType("6"); + permissionStreamList.add(perm); + }); + if(!workStepDepartmentList.isEmpty()) { + b = workStepDepartmentService.saveBatch(workStepDepartmentList); + if(!b) + ExceptionCast.cast(CommonCode.FAIL); + } + if(!permissionStreamList.isEmpty()) { + b = permissionStreamNewService.saveBatch(permissionStreamList); + if(!b) + ExceptionCast.cast(CommonCode.FAIL); + } } - permissionStream.setProcessId(workStep.getProcessId()); - permissionStream.setStepId(workStep.getId()); - return permissionStreamService.save(permissionStream); + //娣诲姞鐢ㄦ埛鏉冮檺 + b = productPermissionService.add(workStep.getId(), userId,"6"); + if (!b) { + ExceptionCast.cast(ProductInfoCode.PRODUCT_SAVE_ERROR); + } + //娣诲姞缁撴瀯鏍� + ProductMix productMix = new ProductMix(Long.parseLong(workStep.getId()),Long.parseLong(workStep.getProcessId()) + ,workStep.getStepName(),workStep.getStepCode(),6); + productMixService.save(productMix); + //娣诲姞鏉冮檺楠岃瘉 + PermissionStreamNew permissionStream = new PermissionStreamNew(); + permissionStream.setUserId(userId); + permissionStream.setBusinessId(workStep.getId()); + permissionStream.setBusinessType("6"); + return permissionStreamNewService.save(permissionStream); } /** @@ -134,13 +169,11 @@ WorkStep en = super.getById(id); if(en == null) ExceptionCast.cast(ProcessInfoCode.WORKSTEP_NOT_EXIST); -// workStep.setStepId(id); -// workStep.setProductId(null); -// workStep.setComponentId(null); -// workStep.setPartsId(null); -// workStep.setProcessId(null); -// workStep.setStepName(workStep.getStepName().toUpperCase()); -// workStep.setStepCode(null); + //鍚屾淇敼缁撴瀯鏍� + ProductMix productMix = productMixService.getById(Long.parseLong(id)); + productMix.setName(workStep.getStepName()); + productMix.setCode(workStep.getStepCode()); + productMixService.updateById(productMix); return super.updateById(workStep); } @@ -162,7 +195,7 @@ if(workStep == null || departmentList == null || departmentList.isEmpty()) ExceptionCast.cast(CommonCode.INVALID_PARAM); List<WorkStepDepartment> workStepDepartmentList = new ArrayList<>(); - List<PermissionStream> permissionStreamList = new ArrayList<>(); + List<PermissionStreamNew> permissionStreamList = new ArrayList<>(); departmentList.forEach(item -> { WorkStepDepartment en = workStepDepartmentService.getByStepIdAndDepartId(workStep.getId(), item.getId()); if(en == null) { @@ -171,16 +204,12 @@ en.setStepId(workStep.getId()); workStepDepartmentList.add(en); } - PermissionStream stream = permissionStreamService.getByStepIdAndDepartId(workStep.getProductId(), workStep.getComponentId(), workStep.getPartsId(),workStep.getProcessId(),workStep.getId(),item.getId()); + PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(workStep.getId(),item.getId(),"6"); if(stream == null) { - stream = new PermissionStream(); + stream = new PermissionStreamNew(); stream.setDepartId(item.getId()); - stream.setProductId(workStep.getProductId()); - stream.setComponentId(workStep.getComponentId()); - stream.setPartsId(workStep.getPartsId()); - stream.setProcessId(workStep.getProcessId()); - stream.setStepId(workStep.getId()); - + stream.setBusinessId(workStep.getId()); + stream.setBusinessType("6"); permissionStreamList.add(stream); } }); @@ -191,7 +220,7 @@ } } if(!permissionStreamList.isEmpty()) { - boolean b = permissionStreamService.saveBatch(permissionStreamList); + boolean b = permissionStreamNewService.saveBatch(permissionStreamList); if(!b) { ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR); } @@ -231,14 +260,13 @@ if(workStep == null || departmentList == null || departmentList.isEmpty()) ExceptionCast.cast(CommonCode.INVALID_PARAM); List<WorkStepDepartment> workStepDepartmentList = new ArrayList<>(); - List<PermissionStream> permissionStreamList = new ArrayList<>(); + List<PermissionStreamNew> permissionStreamList = new ArrayList<>(); departmentList.forEach(item -> { WorkStepDepartment en = workStepDepartmentService.getByStepIdAndDepartId(workStep.getId(), item.getId()); if(en != null) { workStepDepartmentList.add(en); } - PermissionStream stream = permissionStreamService.getByStepIdAndDepartId(workStep.getProductId(), workStep.getComponentId(), workStep.getPartsId() - ,workStep.getProcessId(),workStep.getId(), item.getId()); + PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(workStep.getId(),item.getId(),"6"); if(stream != null) { permissionStreamList.add(stream); } @@ -250,7 +278,102 @@ } } if(!permissionStreamList.isEmpty()) { - boolean b = permissionStreamService.removeByCollection(permissionStreamList); + boolean b = permissionStreamNewService.deletePermissionStreamNewByList(permissionStreamList); + if(!b) { + ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR); + } + } + return true; + } + + /** + * 鍒犻櫎宸ユ淇℃伅 閫昏緫鍒犻櫎 + * @param id + * @return + */ + public boolean deleteWorkStep(String id){ + if(!ValidateUtil.validateString(id)) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + WorkStep en = super.getById(id); + if(en == null) + ExceptionCast.cast(ProcessInfoCode.PROCESS_NOT_EXIST); + //楠岃瘉鏄惁瀛樺湪鏂囨。 + List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","6").eq("attribution_id",id)); + if (!docRelativeList.isEmpty()){ + ExceptionCast.cast(ProcessInfoCode.WORKSTEP_HAS_DOC); + } + boolean b=productMixService.removeById(id); + if(!b) { + ExceptionCast.cast(CommonCode.FAIL); + } + return super.removeById(id); + } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean assignAddUser(WorkStep workStep, Collection<SysUser> userList) { + if(workStep == null || userList == null || userList.isEmpty()) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + List<WorkStepPermission> permissionList = new ArrayList<>(); + List<PermissionStreamNew> permissionStreamList = new ArrayList<>(); + userList.forEach(item -> { + WorkStepPermission en = workStepPermissionService.getByStepIdAndUserId(workStep.getId(), item.getId()); + if(en == null) { + en = new WorkStepPermission(); + en.setUserId(item.getId()); + en.setStepId(workStep.getId()); + permissionList.add(en); + } + PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(workStep.getId(),item.getId(),"6"); + if(stream == null) { + stream = new PermissionStreamNew(); + stream.setUserId(item.getId()); + stream.setBusinessId(workStep.getId()); + stream.setBusinessType("6"); + permissionStreamList.add(stream); + } + }); + if(!permissionList.isEmpty()) { + boolean b = workStepPermissionService.saveBatch(permissionList); + if(!b) { + ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR); + } + } + if(!permissionStreamList.isEmpty()) { + boolean b = permissionStreamNewService.saveBatch(permissionStreamList); + if(!b) { + ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR); + } + } + return true; + } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean assignRemoveUser(WorkStep workStep, Collection<SysUser> userList) { + if(workStep == null || userList == null || userList.isEmpty()) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + List<WorkStepPermission> permissionList = new ArrayList<>(); + List<PermissionStreamNew> permissionStreamList = new ArrayList<>(); + userList.forEach(item -> { + WorkStepPermission en = workStepPermissionService.getByStepIdAndUserId(workStep.getId(), item.getId()); + if(en != null) { + permissionList.add(en); + } + PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(workStep.getId(),item.getId(),"6"); + if(stream != null) { + permissionStreamList.add(stream); + } + }); + //娓呯┖鐢ㄦ埛鏉冮檺鏍¢獙 + if(!permissionList.isEmpty()) { + boolean b = workStepPermissionService.removeByCollection(permissionList); + if(!b) { + ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR); + } + } + if(!permissionStreamList.isEmpty()) { + boolean b = permissionStreamNewService.deletePermissionStreamNewByList(permissionStreamList); if(!b) { ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR); } -- Gitblit v1.9.3