fuliqi
2023-12-04 40521d51f8c083212ceb1710ab0bea570821d063
平台端调度部门下拉框
14个文件已修改
129 ■■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/mapper/user/UmsDepartManageMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/resources/mapper/user/UmsDepartManageMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/dingding/DingCommon.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)));
    }
}
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("用户名或密码错误");
        }
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 = "用户姓名")
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);
}
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);
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>
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);
                //临时保存任职的ids(系统的用户体系)
                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("解密后的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");
        }
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);
    }
}
ycl-platform/src/main/java/com/ycl/controller/dingding/DingController.java
@@ -94,10 +94,12 @@
    @ApiOperation(value = "根据钉钉授权码获取token")
    @GetMapping("/dingLogin")
    public CommonResult<Map> dingLogin(@RequestParam String code) {
        log.info("一键登录参数code--------------->{}",code);
        HashMap<String, Object> map = new HashMap<>();
        //获取用户信息
        DingUserInfo dingUser = dingCommon.getDingUserInfo(code);
        //按ding登录
        log.info("用户信息------------------->{}",dingUser);
        String token = authService.dingLogin(dingUser);
        map.put("token", token);
        map.put("tokenHead", tokenHead);
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();
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);
}
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");
    }
}
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();
    }
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">