db/ZHR/position_zhr.sql
lxzn-boot-base-core/src/main/java/org/jeecg/common/util/OrgCodeSplitUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package org.jeecg.common.util; import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class OrgCodeSplitUtil { public static List<String> splitOrgCode(String orgCode) { if(StringUtils.isBlank(orgCode)) { return Collections.emptyList(); } if(orgCode.length() % 3 != 0) { return Collections.emptyList(); } List<String> list = new ArrayList<>(); int length = orgCode.length(); for (int i = length; i > 0; i -= 3) { list.add(orgCode.substring(0, i)); } return list; } public static void main(String[] args) { String orgCode = "A01A01A01"; List<String> list = splitOrgCode(orgCode); System.out.println(list); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java
@@ -9,13 +9,10 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderRequest; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderService; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,8 +29,7 @@ public class EamTechnicalStatusEvaluationOrderController extends JeecgController<EamTechnicalStatusEvaluationOrder, IEamTechnicalStatusEvaluationOrderService> { @Autowired private IEamTechnicalStatusEvaluationOrderService eamTechnicalStatusEvaluationOrderService; @Autowired private ISysBusinessCodeRuleService businessCodeRuleService; /** * å页å表æ¥è¯¢ * @@ -68,9 +64,6 @@ if (CollectionUtil.isEmpty(request.getTableDetailList())) { return Result.error("æ£æ¥é¡¹ä¸è½ä¸ºç©ºï¼"); } String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_ORDER_CODE_RULE); request.setOrderNum(codeSeq); request.setCreationMethod(OrderCreationMethodEnum.MANUAL.name()); boolean b = eamTechnicalStatusEvaluationOrderService.addTechnicalStatusEvaluationOrder(request); if (!b) { return Result.error("æ·»å 失败ï¼"); lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -20,10 +20,6 @@ import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.entity.SysParams; import org.jeecg.modules.system.service.*; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.EamMaintenanceStandardDetailCategory; import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; @@ -38,13 +34,17 @@ import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; import org.jeecg.modules.eam.vo.*; import org.jeecg.modules.eam.vo.EamMaintenanceStandardVo; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; import org.jeecg.modules.flowable.apithird.service.FlowCommonService; import org.jeecg.modules.flowable.service.IFlowDefinitionService; import org.jeecg.modules.flowable.service.IFlowTaskService; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.entity.SysParams; import org.jeecg.modules.system.service.*; import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -305,6 +305,7 @@ /** * æ¥è¯¢æ åå表-å端å±ç¤ºè¯¥ç¨æ·æ¥æçæ å * * @param keyword 设å¤ç¼å· * @param maintenanceCategory ä¿å »ç±»å * @return @@ -335,6 +336,7 @@ /** * æµç¨å¯å¨,ä¿å对åºçæ°æ® * * @param id * @return */ @@ -371,8 +373,7 @@ } FlowMyBusiness flowMyBusiness = businessList.get(0); EamEquipment eamEquipment=eamEquipmentService.getById(maintenanceStandard.getEquipmentId()); BaseFactory baseFactory=baseFactoryService.getOne(new QueryWrapper<BaseFactory>().eq("org_code", eamEquipment.getFactoryOrgCode())); List<UserSelector> userSelectorList=sysUserService.selectOperatorFactoryList(eamEquipment.getEquipmentCode(),baseFactory.getId(), BusinessCodeConst.PCR0008); List<UserSelector> userSelectorList = sysUserService.selectOperatorList(eamEquipment.getEquipmentCode(), eamEquipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008); if (!CollectionUtils.isEmpty(userSelectorList)) { List<String> usernameList=userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList()); flowMyBusiness.setTodoUsers(JSON.toJSONString(usernameList)); @@ -384,6 +385,7 @@ /** * å®¡æ¹æä½ * * @param eamMaintenanceStandardVo * @return */ @@ -451,8 +453,7 @@ //è·åflowçæµç¨å®ä¾id,设置ä¸ä¸æ¥çå¤ç人å EamMaintenanceStandard maintenanceStandard=this.getById(eamMaintenanceStandardVo.getDataId()); EamEquipment eamEquipment=eamEquipmentService.getById(maintenanceStandard.getEquipmentId()); BaseFactory baseFactory=baseFactoryService.getOne(new QueryWrapper<BaseFactory>().eq("org_code", eamEquipment.getFactoryOrgCode())); List<UserSelector> userSelectorList=sysUserService.selectOperatorFactoryList(eamEquipment.getEquipmentCode(),baseFactory.getId(), BusinessCodeConst.PCR0009); List<UserSelector> userSelectorList = sysUserService.selectOperatorList(eamEquipment.getEquipmentCode(), eamEquipment.getFactoryOrgCode(), BusinessCodeConst.PCR0009); if (!CollectionUtils.isEmpty(userSelectorList)) { List<String> usernameList=userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList()); newflowMyBusiness.setTodoUsers(JSON.toJSONString(usernameList)); @@ -546,6 +547,7 @@ /*å¯¼å ¥ç¹æ£æä»¶Excel--------------------------å¼å§*/ /** * ç¹æ£è¡¨å¯¼å ¥å ¥å£ */ @@ -941,10 +943,14 @@ if (cellValue == null) return ""; switch (cellValue.getCellType()) { case STRING: return cellValue.getStringValue(); case NUMERIC: return String.valueOf((int) cellValue.getNumberValue()); case BOOLEAN: return String.valueOf(cellValue.getBooleanValue()); default: return ""; case STRING: return cellValue.getStringValue(); case NUMERIC: return String.valueOf((int) cellValue.getNumberValue()); case BOOLEAN: return String.valueOf(cellValue.getBooleanValue()); default: return ""; } } catch (Exception e) { return ""; @@ -956,6 +962,7 @@ /** * ç»ä¸ä¿å »è§èå¯¼å ¥å ¥å£ * * @param file ä¸ä¼ æä»¶ * @param type ä¿å »ç±»å (SECOND/THIRD) * @return å¯¼å ¥ç»æï¼å 嫿å/失败信æ¯ï¼ @@ -1083,6 +1090,7 @@ } } } /** * æåäºçº§ä¿å »é¡¹ç®ï¼åºå第ä¸é¡µååç»é¡µé¢ï¼ */ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
@@ -40,6 +40,7 @@ import org.jeecg.modules.system.service.IBaseFactoryUserService; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -228,6 +229,11 @@ if(sysUser == null) { throw new JeecgBootException("䏿¯ç»´ä¿®å·¥ï¼æ æ³é¢åæ¤å·¥åï¼"); } List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("è®¾å¤æªåé ç»è½¦é´çç»é¿ï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } entity.setEvaluator(sysUser.getUsername()); entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.UNDER_EVALUATION.name()); entity.setActualStartTime(new Date()); @@ -245,10 +251,10 @@ variables.put("organization", entity.getRemark()); variables.put("comment", entity.getRemark()); } // variables.put("proofreading", true); // List<String> usernames = new ArrayList<>(); // usernames.add(entity.getOperator()); // variables.put("NextAssignee", usernames); variables.put("proofreading", true); List<String> usernames = new ArrayList<>(); usernames.add(entity.getEquipmentCode()); variables.put("NextAssignee", usernames); // Result result = flowDefinitionService.startProcessInstanceByKey("second_maintenance_process", variables); // if (result != null) { // //æ´æ°è®¾å¤ä¿å »ç¶æ lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java
@@ -67,4 +67,11 @@ * @param orgCode */ String factoryDataNameByOrgCode(String orgCode); /** * æ ¹æ® orgCode æ¥è¯¢ factoryIds 以é½å¥½åå² * @param orgCode * @return */ List<String> queryFactoryIdsByOrgCode(String orgCode); } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
@@ -344,20 +344,11 @@ /** * éæ©ç¨æ· * @param equipmentCode éæ©ç设å¤ID * @param productionId éæ©ç车é´ID * @param factoryOrgCode éæ©çä¸å¿ä¿¡æ¯ * @param positionCode å²ä½ç¼å· * @return */ List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode); /** * éæ©ç¨æ· * @param equipmentCode éæ©ç设å¤ID * @param factoryId éæ©ç车é´ID * @param positionCode å²ä½ç¼å· * @return */ List<UserSelector> selectOperatorFactoryList(String equipmentCode, String factoryId, String positionCode); List<UserSelector> selectOperatorList(String equipmentCode, String factoryOrgCode, String positionCode); /** * éæ©ç¨æ· lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java
@@ -1,5 +1,6 @@ package org.jeecg.modules.system.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -11,6 +12,7 @@ import org.jeecg.common.constant.FillRuleConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.util.FillRuleUtil; import org.jeecg.common.util.OrgCodeSplitUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; @@ -29,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; /** * @Description: 设å¤è½¦é´ç®¡ç @@ -362,4 +365,22 @@ } return null; } @Override public List<String> queryFactoryIdsByOrgCode(String orgCode) { //åå² orgCode List<String> orgCodeArr = OrgCodeSplitUtil.splitOrgCode(orgCode); if(CollectionUtil.isEmpty(orgCodeArr)){ return Collections.emptyList(); } LambdaQueryWrapper<BaseFactory> query = new LambdaQueryWrapper<>(); query.in(BaseFactory::getOrgCode, orgCodeArr); query.eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0); List<BaseFactory> list = this.getBaseMapper().selectList(query); Set<String> collect = list.stream().map(BaseFactory::getId).collect(Collectors.toSet()); if(CollectionUtil.isEmpty(collect)){ return Collections.emptyList(); } return new ArrayList<>(collect); } } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -1,5 +1,6 @@ package org.jeecg.modules.system.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -23,6 +24,7 @@ import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.mapper.*; import org.jeecg.modules.system.model.SysUserSysDepartModel; import org.jeecg.modules.system.service.IBaseFactoryService; import org.jeecg.modules.system.service.ISysDictService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.EamUserRepDepVo; @@ -52,31 +54,31 @@ @Slf4j public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService { @Autowired @Resource private SysUserMapper userMapper; @Autowired @Resource private SysPermissionMapper sysPermissionMapper; @Autowired @Resource private SysUserRoleMapper sysUserRoleMapper; @Autowired @Resource private SysUserDepartMapper sysUserDepartMapper; @Autowired @Resource private SysDepartMapper sysDepartMapper; @Autowired @Resource private SysRoleMapper sysRoleMapper; @Autowired @Resource private SysDepartRoleUserMapper departRoleUserMapper; @Autowired @Resource private SysDepartRoleMapper sysDepartRoleMapper; @Resource private BaseCommonService baseCommonService; @Autowired @Resource private SysThirdAccountMapper sysThirdAccountMapper; @Autowired ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; @Autowired ThirdAppDingtalkServiceImpl dingtalkService; @Autowired @Resource SysRoleIndexMapper sysRoleIndexMapper; @Resource MdcUserProductionMapper mdcUserProductionMapper; @@ -84,6 +86,8 @@ EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper; @Resource private ISysDictService sysDictService; @Autowired private IBaseFactoryService factoryService; @Override @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) @@ -185,6 +189,7 @@ /** * è·å卿é¦é¡µè·¯ç±é ç½® * * @param username * @param version * @return @@ -218,6 +223,7 @@ /** * éè¿ç¨æ·åè·åç¨æ·è§è²éå * * @param username ç¨æ·å * @return è§è²éå */ @@ -254,10 +260,11 @@ /** * å级SpringBoot2.6.6,ä¸å 许循ç¯ä¾èµ * @author:qinfeng * @update: 2022-04-07 * * @param username * @return * @author:qinfeng * @update: 2022-04-07 */ @Override public SysUserCacheInfo getCacheUser(String username) { @@ -296,6 +303,7 @@ /** * æ ¹æ®é¨é¨Idæ¥è¯¢ * * @param page * @param departId é¨é¨id * @param username ç¨æ·è´¦æ·åç§° @@ -352,6 +360,7 @@ /** * æ ¹æ®è§è²Idæ¥è¯¢ * * @param page * @param roleId è§è²id * @param username ç¨æ·è´¦æ·åç§° @@ -364,6 +373,7 @@ /** * æ ¹æ®è®¾å¤è½¦é´ç®¡çIdæ¥è¯¢ * * @param page * @param baseFactoryId 设å¤è½¦é´ç®¡çId * @return @@ -444,6 +454,7 @@ /** * æ ¡éªç¨æ·æ¯å¦ææ * * @param sysUser * @return */ @@ -774,46 +785,30 @@ } @Override public List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode) { public List<UserSelector> selectOperatorList(String equipmentCode, String factoryOrgCode, String positionCode) { LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getPost, positionCode); if(StringUtils.isNotBlank(equipmentCode)) { queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); queryWrapper.and(q -> q.isNull(SysUser::getEamEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEamEquipmentIds, equipmentCode)); } if(StringUtils.isNotBlank(productionId)) { queryWrapper.exists("select 1 from mdc_user_production t where t.user_id=sys_user.id and t.pro_id={0}", productionId); if (StringUtils.isNotBlank(factoryOrgCode)) { List<String> factoryIds = factoryService.queryFactoryIdsByOrgCode(factoryOrgCode); if (CollectionUtil.isNotEmpty(factoryIds)) { String factory = String.join(",", factoryIds); String inClause = "(" + factory + ")"; queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id in {0}", inClause); } else { return Collections.emptyList(); } } queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); queryWrapper.orderByDesc(SysUser::getId); List<SysUser> sysUsers = userMapper.selectList(queryWrapper); List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); return collect; if (CollectionUtil.isEmpty(sysUsers)) { return Collections.emptyList(); } /** * éæ©ç¨æ· * @param equipmentCode éæ©ç设å¤ID * @param factoryId éæ©çå·¥åID * @param positionCode å²ä½ç¼å· * @return */ @Override public List<UserSelector> selectOperatorFactoryList(String equipmentCode, String factoryId, String positionCode){ LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getPost, positionCode); // if(StringUtils.isNotBlank(equipmentCode)) { // queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); // } // if(StringUtils.isNotBlank(factoryId)) { // queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id={0}", factoryId); // } queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); queryWrapper.orderByDesc(SysUser::getId); List<SysUser> sysUsers = userMapper.selectList(queryWrapper); List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); return collect; return sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); } @Override