From 40521d51f8c083212ceb1710ab0bea570821d063 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 04 十二月 2023 09:25:43 +0800 Subject: [PATCH] 平台端调度部门下拉框 --- ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java | 45 ++++++++------- ycl-common/src/main/resources/mapper/user/UmsDepartManageMapper.xml | 12 ++++ ycl-platform/src/main/java/com/ycl/common/dingding/DingCommon.java | 19 ++++-- ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java | 3 ycl-common/src/main/java/com/ycl/mapper/user/UmsDepartManageMapper.java | 3 + ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java | 19 +++++- ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java | 5 + ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java | 10 ++- ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml | 1 ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java | 1 ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java | 2 ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java | 1 ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java | 3 ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java | 5 + 14 files changed, 86 insertions(+), 43 deletions(-) diff --git a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java index 0f7733e..e66f4a3 100644 --- a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java +++ b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java @@ -238,9 +238,10 @@ @ApiOperation("鏌ヨ閮ㄩ棬浜岀骇") @GetMapping(value = "/query_father_children") - public CommonResult search(@RequestParam Integer fatherId) { + public CommonResult search(@RequestParam String fatherId) { + long fatherIdLong = Long.parseLong(fatherId); return CommonResult.success(departService .list(new LambdaQueryWrapper<UmsDepart>() - .eq(UmsDepart::getParentId, fatherId))); + .eq(UmsDepart::getParentId, fatherIdLong))); } } \ No newline at end of file diff --git a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java index 1ba37af..84a37de 100644 --- a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java +++ b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java @@ -85,7 +85,6 @@ String password = AesEncryptUtil.desEncrypt(umsAdminLoginParam.getPassword()); // String password = umsAdminLoginParam.getPassword(); String token = adminService.login(umsAdminLoginParam.getUsername(), password); - if (token == null) { return CommonResult.validateFailed("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"); } diff --git a/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java b/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java index 39505fe..49bef2d 100644 --- a/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java +++ b/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java @@ -37,6 +37,7 @@ private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) + @JsonFormat(shape = JsonFormat.Shape.STRING) private Long id; @ApiModelProperty(value = "鐢ㄦ埛濮撳悕") diff --git a/ycl-common/src/main/java/com/ycl/mapper/user/UmsDepartManageMapper.java b/ycl-common/src/main/java/com/ycl/mapper/user/UmsDepartManageMapper.java index c26637d..2c2b54a 100644 --- a/ycl-common/src/main/java/com/ycl/mapper/user/UmsDepartManageMapper.java +++ b/ycl-common/src/main/java/com/ycl/mapper/user/UmsDepartManageMapper.java @@ -1,6 +1,7 @@ package com.ycl.mapper.user; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ycl.entity.depart.UmsDepart; import com.ycl.entity.user.UmsDepartManage; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,6 @@ void deletedByUserId(@Param("userId") long userId); List<UmsDepartManage> selectPageByUserId(@Param("userId") long userId, @Param("current") int current, @Param("pageSize") int pageSize); + + List<UmsDepart> selectChildrendIds(Long departId); } diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java index b2daa9f..e151ebd 100644 --- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java +++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java @@ -587,10 +587,23 @@ @Override public List<UmsAdmin> getDepartUser(Long departId) { + //TODO锛氭煡璇簩绾ч儴闂ㄥ強鎵�鏈夊瓙绾ч儴闂� + List<UmsDepart> umsDeparts = umsDepartManageMapper.selectChildrendIds(departId); + List<Long> parentIds = umsDeparts.stream().map(UmsDepart::getParentId).collect(Collectors.toList()); + List<Long> ids = umsDeparts.stream().map(UmsDepart::getId).collect(Collectors.toList()); + List<Long> departIds = new ArrayList<>(); + for (Long id : ids) { + if(!parentIds.contains(id)){ + departIds.add(id); + } + } + QueryWrapper<UmsDepartManage> wrapper = new QueryWrapper<>(); - wrapper.lambda().eq(UmsDepartManage::getDepartId, departId); - List<UmsDepartManage> list = umsDepartManageMapper.selectList(wrapper); - List<Long> userIds = list.stream().map(UmsDepartManage::getUserId).collect(Collectors.toList()); + wrapper.lambda().in(UmsDepartManage::getDepartId, departIds); + List<UmsDepartManage> users = umsDepartManageMapper.selectList(wrapper); + + List<Long> userIds = users.stream().map(UmsDepartManage::getUserId).collect(Collectors.toList()); + QueryWrapper<UmsAdmin> wrapperUser = new QueryWrapper<>(); wrapperUser.in("id", userIds); List<UmsAdmin> adminList = baseMapper.selectList(wrapperUser); diff --git a/ycl-common/src/main/resources/mapper/user/UmsDepartManageMapper.xml b/ycl-common/src/main/resources/mapper/user/UmsDepartManageMapper.xml index b2c0b37..31e32f7 100644 --- a/ycl-common/src/main/resources/mapper/user/UmsDepartManageMapper.xml +++ b/ycl-common/src/main/resources/mapper/user/UmsDepartManageMapper.xml @@ -34,4 +34,16 @@ where user_id=#{userId} limit #{current},#{pageSize} </select> + + <select id="selectChildrendIds" resultType="com.ycl.entity.depart.UmsDepart"> + select * from ums_depart where id in (WITH RECURSIVE cte_dept(id) AS ( + SELECT id + FROM ums_depart + WHERE id = #{id} + UNION ALL + SELECT ums_depart.id + FROM ums_depart + JOIN cte_dept ON ums_depart.parent_id = cte_dept.id + )SELECT id FROM cte_dept) and is_deleted = 0 + </select> </mapper> diff --git a/ycl-platform/src/main/java/com/ycl/common/dingding/DingCommon.java b/ycl-platform/src/main/java/com/ycl/common/dingding/DingCommon.java index f3f58e4..0c61fef 100644 --- a/ycl-platform/src/main/java/com/ycl/common/dingding/DingCommon.java +++ b/ycl-platform/src/main/java/com/ycl/common/dingding/DingCommon.java @@ -312,6 +312,7 @@ //鏌ヨ浠昏亴 JSONArray jobArr = getStaffAppointment(employeeCode); assert jobArr != null; + log.info("浠昏亴----------------->{}",jobArr); //涓存椂淇濆瓨浠昏亴鐨刬ds锛堢郴缁熺殑鐢ㄦ埛浣撶郴锛� List<Long> posIds = new ArrayList<>(); //鐢ㄦ埛瑙掕壊code @@ -323,15 +324,17 @@ if (isMain) { JSONObject holdapost = jobArr.getJSONObject(0); String orgCode = holdapost.getString("organizationCode"); + log.info("orgCode---------------->{}",orgCode); if (StrUtil.isNotBlank(orgCode)) { - JSONObject orgDetail = getOrgDetailByCode(orgCode); - if (null != orgDetail) { - String orgId = orgDetail.getString("organizationCode"); - String orgName = orgDetail.getString("organizationName"); - orgId = DingEncodeUtil.getMD5(orgId.getBytes()); +// JSONObject orgDetail = getOrgDetailByCode(orgCode); +// if (null != orgDetail) { +// String orgId = orgDetail.getString("organizationCode"); +// String orgName = orgDetail.getString("organizationName"); + Long orgId = Long.parseLong(DingEncodeUtil.getMD5(orgCode.getBytes())); + log.info("瑙e瘑鍚庣殑orgId-------------->{}",orgId); empCodeObj.put("orgId", orgId); - empCodeObj.put("orgName", orgName); - } +// empCodeObj.put("orgName", orgName); +// } } } //鑱屼綅淇℃伅 @@ -366,6 +369,7 @@ //杞崲涓哄疄浣撶被 DingUserInfo dingUserInfo = BeanUtil.toBean(empCodeObj, DingUserInfo.class); Long orgId = dingUserInfo.getOrgId(); + log.info("鏈�鍚庣粨鏋滅殑orgId----------->{}",orgId); if (ObjectUtil.isNotEmpty(orgId)) { dingUserInfo.setPosIdList(posIds); dingUserInfo.setRoleCodeList(roleCodeList); @@ -386,6 +390,7 @@ postClient.addParameter("employeeCode", empCode); String apiResult = postClient.post(); JSONObject dataObj = parsingJson(apiResult); + log.info("浠昏亴------------->{}",dataObj); if (null != dataObj) { return dataObj.getJSONArray("data"); } diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java index 74db768..8c4cc47 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java @@ -61,7 +61,6 @@ @PostMapping("/addition_dispose_result") @LogSave(operationType = "浜嬮」澶勭疆绠$悊", contain = "妗堜欢涓婁紶澶勭疆缁撴灉") public CommonResult searchDisposeList(@RequestBody UploadDisposingResultParam uploadDisposingResultParam) { - iDisposeRecordService.saveOrUpdateUpload(uploadDisposingResultParam); - return CommonResult.success("add success"); + return iDisposeRecordService.saveOrUpdateUpload(uploadDisposingResultParam); } } diff --git a/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java b/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java index eeb2a40..e96e969 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java @@ -94,10 +94,12 @@ @ApiOperation(value = "鏍规嵁閽夐拤鎺堟潈鐮佽幏鍙杢oken") @GetMapping("/dingLogin") public CommonResult<Map> dingLogin(@RequestParam String code) { + log.info("涓�閿櫥褰曞弬鏁癱ode--------------->{}",code); HashMap<String, Object> map = new HashMap<>(); //鑾峰彇鐢ㄦ埛淇℃伅 DingUserInfo dingUser = dingCommon.getDingUserInfo(code); //鎸塪ing鐧诲綍 + log.info("鐢ㄦ埛淇℃伅------------------->{}",dingUser); String token = authService.dingLogin(dingUser); map.put("token", token); map.put("tokenHead", tokenHead); diff --git a/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java b/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java index 811aebb..c2ff7d1 100644 --- a/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java +++ b/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java @@ -62,9 +62,10 @@ userParam.setPassword(encodePassword); //瀵嗙爜 userParam.setStatus(1); //鐘舵�� adminService.save(userParam); - dingCommon.getEmpInfoByCode(dingUserInfo.getEmployeeCode()); + DingUserInfo empInfoByCode = dingCommon.getEmpInfoByCode(dingUserInfo.getEmployeeCode()); //鏌ヨ閮ㄩ棬鏄惁瀛樺湪锛� - UmsDepart depart = departService.getById(dingUserInfo.getOrgId()); + UmsDepart depart = departService.getById(empInfoByCode.getOrgId()); + log.info("閮ㄩ棬---------------->{}",depart); //鍛樺伐淇℃伅锛屽叧鑱旂粍缁� if (Objects.nonNull(depart)) { UmsDepartManage departManage = new UmsDepartManage(); diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java index 4bd06ff..f81cc37 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.ycl.api.CommonResult; import com.ycl.dto.dispatch.UploadDisposingResultParam; import com.ycl.entity.caseHandler.DisposeRecord; import com.ycl.vo.MyBacklogVO; @@ -21,5 +22,5 @@ Page<MyBacklogVO> listMyTask(String num, Long userId, Short type, Short source, Short time, Integer current, Integer pageSize); - Boolean saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam); + CommonResult saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam); } diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java index 6d44fa3..5f11d68 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.common.constant.StepName; @@ -102,7 +103,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public Boolean saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam) { + public CommonResult saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam) { log.info("鍙傛暟------------------>{}",uploadDisposingResultParam); if (uploadDisposingResultParam.getArrivalTime() != null) { uploadDisposingResultParam.setArrivalTime(uploadDisposingResultParam.getArrivalTime().replace("/", "-")); @@ -265,7 +266,10 @@ //璁剧疆娴佺▼鐜妭鏁版嵁 disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); - - return baseMapper.insert(disposeRecord) == 1 ? true : false; + boolean result = baseMapper.insert(disposeRecord) == 1 ? true : false; + if(!result){ + CommonResult.failed("宸叉彁浜�,璇峰嬁閲嶅鎻愪氦"); + } + return CommonResult.success("add success"); } } diff --git a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java index 03f510e..cfbd562 100644 --- a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java +++ b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java @@ -72,41 +72,43 @@ @Autowired private UmsAdminRoleRelationService umsAdminRoleRelationService; - //@Scheduled(cron = "0 50 15 * * ?") + //@Scheduled(cron = "0 50 14 * * ?") @Transactional(rollbackFor = Exception.class) public void run() { log.info("寮�濮嬪悓姝ヤ换鍔�"); //鑾峰彇鍏ㄩ儴閮ㄩ棬code JSONObject topObj = dingCommon.getBookAuthority(); //椤剁骇閮ㄩ棬id + log.info("閮ㄩ棬code------------>{}",topObj.toJSONString()); JSONArray deptTopArr = topObj.getJSONArray("deptVisibleScopes"); List<UmsDepart> dingOrgList = dingCommon.getOrgInfo(deptTopArr); //鏌ヨ鏁版嵁搴撲腑鐨勯儴闂� List<UmsDepart> dataOrgList = umsDepartService.list(); - Iterator<UmsDepart> removeIterOrg = dingOrgList.iterator(); - while (removeIterOrg.hasNext()) { - UmsDepart dingOrg = removeIterOrg.next(); - if (dingOrg.getCode().equals(deptTopArr.getString(0))) { - dingOrg.setParentId(0L); - } - //鍒ゆ柇 - for (UmsDepart org : dataOrgList) { - if (ObjectUtil.equals(org.getId(), dingOrg.getId()) && ObjectUtil.equals(org.getDepartName(), dingOrg.getDepartName()) && ObjectUtil.equals(org.getParentId(), dingOrg.getParentId())) { - removeIterOrg.remove(); + if(CollectionUtils.isNotEmpty(dingOrgList)) { + Iterator<UmsDepart> removeIterOrg = dingOrgList.iterator(); + while (removeIterOrg.hasNext()) { + UmsDepart dingOrg = removeIterOrg.next(); + if (dingOrg.getCode().equals(deptTopArr.getString(0))) { + dingOrg.setParentId(0L); + } + //鍒ゆ柇 + for (UmsDepart org : dataOrgList) { + if (ObjectUtil.equals(org.getId(), dingOrg.getId()) && ObjectUtil.equals(org.getDepartName(), dingOrg.getDepartName()) && ObjectUtil.equals(org.getParentId(), dingOrg.getParentId())) { + removeIterOrg.remove(); + } } } + //姝ゆ椂 dingOrgList 涓墿涓嬬殑灏辨槸鏂扮殑缁勭粐鏈烘瀯浜嗐�� + dingOrgList.forEach(dingOrg -> { + if (dingOrg.getCode().equals(deptTopArr.getString(0))) { + dingOrg.setParentId(0L); + } + //umsDepartService.fillPids(dingOrg); + dingOrg.setStatus((short) 1); + umsDepartService.saveOrUpdate(dingOrg); + }); } - //姝ゆ椂 dingOrgList 涓墿涓嬬殑灏辨槸鏂扮殑缁勭粐鏈烘瀯浜嗐�� - dingOrgList.forEach(dingOrg -> { - if (dingOrg.getCode().equals(deptTopArr.getString(0))) { - dingOrg.setParentId(0L); - } - //umsDepartService.fillPids(dingOrg); - dingOrg.setStatus((short) 1); - umsDepartService.saveOrUpdate(dingOrg); - }); - // log.info(TAG + "update organization size " + dingOrgList.size()); TimeInterval timer = DateUtil.timer(); /** @@ -187,6 +189,7 @@ if (CollUtil.isNotEmpty(relations)) { umsAdminRoleRelationService.saveBatch(relations, IService.DEFAULT_BATCH_SIZE); } + log.info("鍚屾浠诲姟缁撴潫"); // log.info(TAG + "update user size " + dingList.size()); // getEmployeeAvatar(); } diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml index ac4ebb7..82e4f26 100644 --- a/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml +++ b/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml @@ -103,7 +103,6 @@ ) as t order by create_time desc LIMIT #{pageIndex},#{pageSize}) nt - left JOIN ums_image_resources t4 ON nt.caseId=t4.belong_to_id </select> <select id="selectMyBackListTotal" resultType="java.lang.Long"> -- Gitblit v1.8.0