From bc263d8bed5d1405f275bb8638a9bec9eaf06585 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 31 三月 2025 09:42:00 +0800 Subject: [PATCH] 添加审签逻辑,移动flow通用代码,添加根据角色查询用户,新增时间工具类,修改指派设备bug --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 deletions(-) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java index 9f36ccf..bc363c2 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java @@ -9,8 +9,11 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.FillRuleConstant; +import org.jeecg.common.system.vo.DictModel; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.FillRuleUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.system.entity.*; @@ -21,8 +24,10 @@ import org.jeecg.modules.system.model.MdcProductionTreeModel; import org.jeecg.modules.system.model.ProductionIdModel; import org.jeecg.modules.system.service.IMdcProductionService; +import org.jeecg.modules.system.service.ISysDictService; import org.jeecg.modules.system.service.ISysParamsService; import org.jeecg.modules.system.util.FindsProductionsChildrenUtil; +import org.jeecg.modules.system.vo.MdcProOptionsVo; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,6 +56,9 @@ @Resource private ISysParamsService sysParamsService; + + @Resource + private ISysDictService sysDictService; /** * queryTreeList 瀵瑰簲 queryTreeList 鏌ヨ鎵�鏈夌殑浜х嚎鏁版嵁,浠ユ爲缁撴瀯褰㈠紡鍝嶅簲缁欏墠绔� */ @@ -73,12 +81,25 @@ @Override public List<MdcProductionTreeModel> queryTreeListByConfig(){ SysParams sysParams = sysParamsService.getSysPramBySettingKey("dnc_production"); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LambdaQueryWrapper<MdcProduction> query = new LambdaQueryWrapper<MdcProduction>(); if (sysParams == null) { return null; }else { + List<String> productionIds = new ArrayList<>(); + if (!("admin").equals(loginUser.getUsername())) { + //涓嶆槸瓒呯骇绠$悊鍛橈紝鑾峰彇鐢ㄦ埛鎷ユ湁鐨勪骇绾� + if (loginUser.getProductionIds() != null) { + if (loginUser.getProductionIds().contains(",")) { + productionIds = Arrays.asList(loginUser.getProductionIds().split(",")); + } else { + productionIds = Collections.singletonList(loginUser.getProductionIds()); + } + } + } if (("0").equals(sysParams.getSettingValue())){ query.eq(MdcProduction::getOrgType,"2"); + query.in(!productionIds.isEmpty(), MdcProduction::getId, productionIds); query.eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); query.orderByAsc(MdcProduction::getProductionOrder); List<MdcProduction> list = this.list(query); @@ -488,6 +509,87 @@ return idList; } + @Override + public List<MdcProductionTreeModel> queryTreeListByMdc(String ids) { + List<MdcProductionTreeModel> listResult = new ArrayList<>(); + LambdaQueryWrapper<MdcProduction> query = new LambdaQueryWrapper<MdcProduction>(); + query.eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); + query.eq(MdcProduction::getMdcFlag, CommonConstant.DEFAULT_1); + if (oConvertUtils.isNotEmpty(ids)) { + query.in(true, MdcProduction::getId, ids.split(",")); + } + query.orderByAsc(MdcProduction::getProductionOrder); + List<MdcProduction> list = this.list(query); + for (MdcProduction production : list) { + if (production.getDescription().isEmpty()){ + production.setDescription(""); + } + listResult.add(new MdcProductionTreeModel(production)); + } + return listResult; + } + + @Override + public List<MdcProductionTreeModel> queryTreeListByMdc() { + LambdaQueryWrapper<MdcProduction> query = new LambdaQueryWrapper<MdcProduction>(); + query.eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); + query.eq(MdcProduction::getMdcFlag, CommonConstant.DEFAULT_1); + query.orderByAsc(MdcProduction::getProductionOrder); + List<MdcProduction> list = this.list(query); + //璁剧疆鐢ㄦ埛id锛岃鍓嶅彴鏄剧ず + this.setUserIdsByProList(list); + //璋冪敤wrapTreeDataToTreeList鏂规硶鐢熸垚鏍戠姸鏁版嵁 + return FindsProductionsChildrenUtil.wrapTreeDataToTreeList(list); + } + + @Override + public List<String> findChildren(List<String> mdcProductionIds) { + return this.baseMapper.findChildren(mdcProductionIds); + } + + /** + * 鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎(涓績)鎴栫彮缁勪笅鎷夐�夐」 + * @param userId + * @param productionId + * @return + */ + @Override + public List<MdcProOptionsVo> loadProductionOptions(String userId, String productionId) { + List<MdcProOptionsVo> result = new ArrayList<>(); + List<MdcProduction> mdcProductionList = this.baseMapper.loadProductionOptions(userId, productionId); + if (mdcProductionList != null && !mdcProductionList.isEmpty()) { + for (MdcProduction mdcProduction : mdcProductionList) { + MdcProOptionsVo vo = new MdcProOptionsVo().convert(mdcProduction); + result.add(vo); + } + } + return result; + } + + @Override + public List<MdcProOptionsVo> loadTeamOptions(String userId, String productionId) { + List<MdcProOptionsVo> result = new ArrayList<>(); + List<String> productionList = this.findChildren(Arrays.asList(productionId.split(","))); + if (productionList != null && !productionList.isEmpty()) { + List<String> dictValues = this.baseMapper.findTeamValue(userId, productionList); + if (dictValues != null && !dictValues.isEmpty()) { + List<DictModel> dictModels = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_MDC_STAFF_TEAM); + if (dictModels != null && !dictModels.isEmpty()) { + for (DictModel dictModel : dictModels) { + if (dictValues.contains(dictModel.getValue())) { + MdcProOptionsVo vo = new MdcProOptionsVo(); + vo.setKey(dictModel.getValue()); + vo.setValue(dictModel.getValue()); + vo.setTitle(dictModel.getText()); + result.add(vo); + } + } + } + } + } + return result; + } + /** * 鎵撳紑 鐖惰妭鐐� 鍙� 浠ヤ笂鐨刴dc鏍囪 * @param parentId -- Gitblit v1.9.3