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